如果一个文件夹中有大量的重复文件(被命名为(1)、(2)……),想删除这些文件的话,直接在搜索框中输入“(”是没用的(不识别),可以输入以下字串:
System.FileName:~=”(“
上面的意思是,搜索文件名中包含左括号的文件。
如果一个文件夹中有大量的重复文件(被命名为(1)、(2)……),想删除这些文件的话,直接在搜索框中输入“(”是没用的(不识别),可以输入以下字串:
System.FileName:~=”(“
上面的意思是,搜索文件名中包含左括号的文件。
Windows10的更新重启机制真是蛋疼,在设置界面里是无法关闭的。系统给出的解决方案是,设定一个计算机工作时间,待到自动更新完毕后,会在工作时间以外的时间重启计算机。然而这个工作时间只能设置12个小时的长度。要想彻底关闭自动更新的计划重启机制,就得改组策略。
uuid u = lexical_cast<uuid>("01234567-89ab-cdef-0123-456789abcdef");
在较高版本的VS中使用lexical_cast
/D_SCL_SECURE_NO_WARNINGS
//API CryptBinaryToString in crypt32.dll Demonstration: // //CRYPT_STRING_BASE64HEADER:[ //-----BEGIN CERTIFICATE----- //AAECAwQFBgcICQoLDA0OD0FCsKFKVQ== //-----END CERTIFICATE----- //] // //CRYPT_STRING_BASE64:[ //AAECAwQFBgcICQoLDA0OD0FCsKFKVQ== //] // //CRYPT_STRING_BASE64REQUESTHEADER:[ //-----BEGIN NEW CERTIFICATE REQUEST----- //AAECAwQFBgcICQoLDA0OD0FCsKFKVQ== //-----END NEW CERTIFICATE REQUEST----- //] // //CRYPT_STRING_HEX:[ // 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f // 41 42 b0 a1 4a 55 //] // //CRYPT_STRING_HEXASCII:[ // 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f ................ // 41 42 b0 a1 4a 55 AB..JU //] // //CRYPT_STRING_BASE64X509CRLHEADER:[ //-----BEGIN X509 CRL----- //AAECAwQFBgcICQoLDA0OD0FCsKFKVQ== //-----END X509 CRL----- //] // //CRYPT_STRING_HEXADDR:[ //0000 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f //0010 41 42 b0 a1 4a 55 //] // //CRYPT_STRING_HEXASCIIADDR:[ //0000 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f ................ //0010 41 42 b0 a1 4a 55 AB..JU //] //
VOID CMyDlg::SetDropDownList(CComboBox* pComboBox)
{
DWORD theStyle;
HWND theChild;
theChild = ::GetWindow(pComboBox->m_hWnd, GW_CHILD);
theStyle = GetWindowLong(pComboBox->m_hWnd, GWL_STYLE);
theStyle &= ~CBS_DROPDOWN; //去掉DROPDOWN
theStyle |= CBS_DROPDOWNLIST; //添加DROPDOWNLIST
::DestroyWindow(theChild);
SetWindowLong(pComboBox->m_hWnd, GWL_STYLE, theStyle);
}
—– BEGIN LICENSE —– Anthony Sansone Single User License EA7E-878563 28B9A648 42B99D8A F2E3E9E0 16DE076E E218B3DC F3606379 C33C1526 E8B58964 B2CB3F63 BDF901BE D31424D2 082891B5 F7058694 55FA46D8 EFC11878 0868F093 B17CAFE7 63A78881 86B78E38 0F146238 BAE22DBB D4EC71A1 0EC2E701 C7F9C648 5CF29CA3 1CB14285 19A46991 E9A98676 14FD4777 2D8A0AB6 A444EE0D CA009B54 —— END LICENSE ——
配合判断当前进程权限的函数可以得知当前是否具备Bypass UAC的条件。
//
BOOL IsUserInAdminGroup()
{
BOOL fInAdminGroup = FALSE;
DWORD dwError = ERROR_SUCCESS;
HANDLE hToken = NULL;
HANDLE hTokenToCheck = NULL;
DWORD cbSize = 0;
ULONG dwMajorVersion = 0;
ULONG dwMinorVersion = 0;
do
{
if (!OpenProcessToken(GetCurrentProcess(), TOKEN_QUERY | TOKEN_DUPLICATE, &hToken))
return FALSE;
GetSysVer(&dwMajorVersion, &dwMinorVersion);
if (dwMajorVersion >= 6)
{
TOKEN_ELEVATION_TYPE elevType;
if (!GetTokenInformation(hToken, TokenElevationType, &elevType, sizeof(elevType), &cbSize))
break;
if (TokenElevationTypeLimited == elevType)
{
if (!GetTokenInformation(hToken, TokenLinkedToken, &hTokenToCheck, sizeof(hTokenToCheck), &cbSize))
break;
}
}
if (!hTokenToCheck)
{
if (!DuplicateToken(hToken, SecurityIdentification, &hTokenToCheck))
break;
}
BYTE adminSID[SECURITY_MAX_SID_SIZE];
cbSize = sizeof(adminSID);
if (!CreateWellKnownSid(WinBuiltinAdministratorsSid, NULL, &adminSID, &cbSize))
break;
if (!CheckTokenMembership(hTokenToCheck, &adminSID, &fInAdminGroup))
break;
} while (0);
if (hToken)
CloseHandle(hToken);
if (hTokenToCheck)
CloseHandle(hTokenToCheck);
return fInAdminGroup;
}
用于在64位系统中的32位进程访问64位的系统目录和注册表
//
BOOLEAN EnableWow64FsRedirection(BOOLEAN Wow64FsEnableRedirection)
{
typedef BOOLEAN (WINAPI *_Wow64EnableWow64FsRedirection)(
_In_ BOOLEAN Wow64FsEnableRedirection
);
_Wow64EnableWow64FsRedirection fpWow64EnableWow64FsRedirection = (_Wow64EnableWow64FsRedirection)GetProcAddress(GetModuleHandleA("Kernel32.dll"), "Wow64EnableWow64FsRedirection");
if (fpWow64EnableWow64FsRedirection)
{
return fpWow64EnableWow64FsRedirection(Wow64FsEnableRedirection);
}
return FALSE;
}