字符串和DWORD类型之间如何相互转换
展开全部 再把 dword转为字符串的也发出来void HashToString(char *strHash,SHA1 hash,int iSize) //hash转成字符串{uchar *p=(uchar *)&hash;char tmp[3]={0};for (int j=0;j<iSize;j++){sprintf(tmp,"%02X",(uchar)p[j]);//OutputDebugString(tmp);strcat(strHash,tmp);}//OutputDebugString(strHash);}...
底层由于接收到操作系统的信号而停止
展开全部 是在打开的文件夹中自动选中某文件吧?不需要用鼠标。
试试看这一段: bool OpenFolderAndSelectFile(const char *filePath){#ifdef Q_OS_WIN LPITEMIDLIST pidl; LPCITEMIDLIST cpidl; LPSHELLFOLDER pDesktopFolder; ULONG chEaten; HRESULT hr; WCHAR wfilePath[MAX_PATH+1] = { 0 }; ::CoInitialize( NULL ); if ( SUCCEEDED( SHGetDesktopFolder( &pDesktopFolder ) ) ) { // IShellFolder::ParseDisplayName要传入宽字节 LPWSTR lpWStr = NULL; //#ifdef _UNICODE // _tcscpy( wfilePath, strFilePath ); // lpWStr = wfilePath; //#else MultiByteToWideChar( CP_ACP, 0, (LPCSTR)filePath, -1, wfilePath, MAX_PATH ); lpWStr = wfilePath; //#endif hr = pDesktopFolder->ParseDisplayName( NULL, 0, lpWStr, &chEaten, &pidl, NULL ); if ( FAILED( hr ) ) { pDesktopFolder->Release(); ::CoUninitialize(); return FALSE; } cpidl = pidl; // SHOpenFolderAndSelectItems是非公开的API函数,需要从shell32.dll获取 // 该函数只有XP及以上的系统才支持,Win2000和98是不支持的,考虑到Win2000 // 和98已经基本不用了,所以就不考虑了,如果后面要支持上述老的系统,则要 // 添加额外的处理代码 HMODULE hShell32DLL = ::LoadLibraryA("shell32.dll"); //ASSERT( hShell32DLL != NULL ); if( hShell32DLL != NULL ) { typedef HRESULT (WINAPI *pSelFun)( LPCITEMIDLIST pidlFolder, UINT cidl, LPCITEMIDLIST *apidl, DWORD dwFlags ); pSelFun pFun = (pSelFun)::GetProcAddress( hShell32DLL, "SHOpenFolderAndSelectItems" ); //ASSERT( pFun != NULL ); if( pFun != NULL ) { hr = pFun( cpidl, 0, NULL, 0 ); // 第二个参数cidl置为0,表示是选中文件 if ( FAILED( hr ) ) { ::FreeLibrary( hShell32DLL ); pDesktopFolder->Release(); ::CoUninitialize(); return FALSE; } } ::FreeLibrary( hShell32DLL ); } else { pDesktopFolder->Release(); ::CoUninitialize(); return FALSE; } // 释放pDesktopFolder pDesktopFolder->Release(); } else { ::CoUninitialize(); return FALSE; } ::CoUninitialize(); return TRUE;#else QString pathIn(filePath); QStringList scriptArgs; scriptArgs << QLatin1String("-e") << QString::fromLatin1("tell application \"Finder\" to reveal POSIX file \"%1\"").arg(pathIn.replace('\\', '/')); QProcess::execute(QLatin1String("/usr/bin/osascript"), scriptArgs); scriptArgs.clear(); scriptArgs << QLatin1String("-e") << QLatin1String("tell application \"Finder\" to activate"); QProcess::execute("/usr/bin/osascript", scriptArgs); return true;#endif}
如何将DWORD值存入字符串数组
符串或串(String)是由零个或多个字符组成的有限序列。
一般记为 s='a1a2???an'(n>=0)。
它是编程语言中表示文本的数据类型。
通常以串的整体作为操作对象,如:在串中查找某个子串、求取一个子串、在串的某个位置上插入一个子串以及删除一个子串等。
两个字符串相等的充要条件是:长度相等,并且各个对应位置上的字符都相等。
设p、q是两个串,求q在p中首次出现的位置的运算叫做模式匹配。
串的两种最基本的存储方式是顺序存储方式和链接存储方式。
1.字符串值 在注册表中,字符串值一般用来表示文件的描述和硬件的标识。
通常由字母和数字组成,也可以是汉字,最大长度不能超过255个字符。
在本站中以"a"="***"表示。
2.二进制值 在注册表中二进制值是没有长度限制的,可以是任意字节长。
在注册表编辑器中,二进制以十六进制的方式表示。
3.DWORD值 DWORD值是一个32位(4个字节)的数值。
在注册表编辑器中也是以十六进制的方式表示。
转载请注明出处51数据库 » dword qstring