计划任务由于密码错误或密码为空,将不能正确执行.所以在应该确认密码正确后再添加,当然也可以更改正确的密码使之执行。
BOOL LogonUser(
LPTSTR lpszUsername,
LPTSTR lpszDomain,
LPTSTR lpszPassword,
DWORD dwLogonType,
DWORD dwLogonProvider,
PHANDLE phToken
);为了安全起见,微软没有提供提取密码的函数,但是提供了这个验证密码正确性的函数
#include "stdafx.h"
#include "windows.h"
int main(int argc, char* argv[])
{
HANDLE hToken;
bool bRet;
bRet = LogonUserA(argv[1], ".", argv[2], LOGON32_LOGON_NETWORK, LOGON32_PROVIDER_DEFAULT, &hToken);
if (bRet)
{
printf("Valid\t User:[%s], Pwd:[%s]\n", argv[1], argv[2]);
}
else if (!bRet && hToken == INVALID_HANDLE_VALUE)
{
printf("Invalid!\t User:[%s], Pwd:[%s]\n", argv[1], argv[2]);
}
CloseHandle(hToken);
return 0;
}