使用CreateProcess分别启动以下程序:
记事本
计算器
启动一个控制台程序
1) 显示1024*768大的窗口
记事本
计算器
启动一个控制台程序
1) 显示1024*768大的窗口
2) 全屏
void FullScreen(){
HWND hwnd = GetForegroundWindow(); //获取前台窗口的句柄(用户当前正在工作的窗口)
if (hwnd != nullptr)
{
int x = GetSystemMetrics(SM_CXSCREEN) + 300;
int y = GetSystemMetrics(SM_CYSCREEN) + 300;
char setting[30];
sprintf(setting, "mode con:cols=%d lines=%d", x, y);
system(setting);
SetWindowPos(hwnd, HWND_TOPMOST, 0, 0, x , y , NULL); //设置置顶
MoveWindow(hwnd, -10, -40, x , y , 1);//移动
printf("\n\n");
}
}
int _tmain(int argc, _TCHAR* argv[])
{
TCHAR strPathText[MAX_PATH] = TEXT("notepad");
TCHAR strPathCalc[MAX_PATH] = TEXT("cmd");
STARTUPINFO si = { 0 };
si.cb = sizeof(STARTUPINFO);
PROCESS_INFORMATION pi = { 0 };
DWORD dwCreateionFlags = 0;
//dwCreateionFlags = CREATE_NEW_CONSOLE;
if (!CreateProcess(nullptr, strPathCalc, nullptr, nullptr, false, dwCreateionFlags, nullptr, nullptr, &si, &pi))
{
_tprintf(TEXT("CreateProcess Error:%d"), GetLastError());
}
else
{
_tprintf(TEXT("Process:0x%x\tPID:%d\nThread:0x%x\tTID:%d"), pi.hProcess,pi.dwProcessId, pi.hThread,pi.dwThreadId);
}
FullScreen();//全屏
//system("mode con cols=1024 lines=768");//设置窗口
return 0;
}