通过GetAdaptersInfo获取网卡配置和Ip地址信息
admin | win32 | 2013-04-04
一台机器上可能不只有一个网卡,但每一个网卡只有一个MAC地址,而每一个网卡可能配置有多个IP地址;如平常的笔记本电脑中,就会有无线网卡和有线网卡(网线接口)两种;因此,如果要获得本机所有网卡的IP和MAC地址信息,则必须顺序获得每个网卡,再依次获取其信息等;在windows sdk中,用IP_ADAPTER_INFO结构体存储网卡信息,包括网卡名、网卡描述、网... [阅读全文]
获取文件属性
admin | C++ | 2013-04-04
C++
//在打开文件对话框中选择文件
CFileDialog FileDlg(true,NULL,NULL,OFN_HIDEREADONLY,"All Files(*.*)|*.*||");
//如果没打开文件,则返回
if(FileDlg.DoModal()==IDCANCEL) return;
CString m_strfilename;
m_strfilename=FileDlg.GetPathName();//获取打开文件的路径
CFileStatus status;利用CFileStatu... [阅读全文]
识别文件编码
admin | win32 | 2013-04-04
C++
bool TextEncode(const char *fPath)
{
char srcBuff[1024];
char header[2];
unsigned char uniTxt[] = {0xFF, 0xFE}; // Unicode file header
unsigned char endianTxt[] = {0xFE, 0xFF}; // Unicode big endian file header
unsigned char utf8Txt[] = {0xEF, 0xBB, 0xBF}; // UTF_8 file header
int l... [阅读全文]
Windows下提升进程权限
admin | Qt Gui | 2013-04-04
windows的每个用户登录系统后,系统会产生一个访问令牌(access token) ,其中关联了当前用户的权限信息,用户登录后创建的每一个进程都含有用户access token的拷贝,当进程试图执行某些需要特殊权限的操作或是访问受保护的内核对象时,系统会检查其acess token中的权限信息以决定是否授权操作。Administrator组成员的access token中会含有一些... [阅读全文]
强制关机
admin | win32 | 2013-04-04
C++
#include<stdio.h>
#include<windows.h>
int main(void)
{
HANDLE hToken;
TOKEN_PRIVILEGES tkp;
// 取得系统版本
OSVERSIONINFO osvi;
osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFO);
if (GetVersionEx(&osvi) == 0)
return false;
if (osvi.dwPlatformId == VER_PLATFORM_WIN32_NT)
{... [阅读全文]
计算QPlaintTextEdit当前光标(cursor)的行号
admin | Qt Gui | 2013-04-04
C++
//get the current line number
QTextCursor tc = edit->textCursor();
QTextLayout* lo = tc.block().layout();
//get the relative position in the block
int pos = tc.position() - tc.block().position();
int line = lo->lineForTextPosition(pos).lineNumber() + tc.block().firstLineNumber();
qWarni... [阅读全文]
Qt 解析 JSON 一例
admin | Qt Gui | 2013-04-04
C++
QString http_response =
"{\"key\":\"a99fdd865c2-10000\",\"oid\":1000055,\"expires
\":0000,\"secret\" :\"509c03edfdc7\",\"sign\":\"f0dd9e5226d0e77\"}";
QScriptValue sc;
QScriptEngine engine;
sc = engine.evaluate("value = " + http_response);
QScriptValueIterator it(sc);
while (... [阅读全文]
Qjson 将 QVariant 对象转为 JSON 数据
admin | Qt Gui | 2013-04-04
C++
//cpp
QVariantList people;
QVariantMap bob;
bob.insert("Name", "Bob");
bob.insert("Phonenumber", 123);
QVariantMap alice;
alice.insert("Name", "Alice");
alice.insert("Phonenumber", 321);
people << bob << alice;
QJson::Serializer serializer;
QByteArray json = serializer.seriali... [阅读全文]
Qjson: QObject 对象序列化为 JSON 数据
admin | Qt Gui | 2013-04-04
C++
//Person.h
class Person : public QObject
{
Q_OBJECT
Q_PROPERTY(QString name READ name WRITE setName)
Q_PROPERTY(int phoneNumber READ phoneNumber WRITE setPhoneNumber)
Q_PROPERTY(Gender gender READ gender WRITE setGender)
Q_PROPERTY(QDate dob READ dob WRITE setDob)
Q_ENUMS(Gender)
... [阅读全文]
在windows下的QT编程中的_TCHAR与QString之间的转换
admin | Qt Gui | 2013-04-04
C++
[cce_cpp]
#ifdef UNICODE
#define QStringToTCHAR(x) (wchar_t*) x.utf16()
#define PQStringToTCHAR(x) (wchar_t*) x->utf16()
#define TCHARToQString(x) QString::fromUtf16((x))
#define TCHARToQStringN(x,y) QString::fromUtf16((x),(y))
#else
#define QStringToTCHAR(x) ... [阅读全文]