// GetInfo.cpp : Defines the class behaviors for the application. //

#include "stdafx.h" #include "GetInfo.h" #include "GetInfoDlg.h" #include <windows.h> // for process and system control

#ifdef _DEBUG #define new DEBUG_NEW #undef THIS_FILE static char THIS_FILE[] = FILE; #endif

///////////////////////////////////////////////////////////////////////////// // CGetInfoApp

BEGIN_MESSAGE_MAP(CGetInfoApp, CWinApp) //{{AFX_MSG_MAP(CGetInfoApp) // NOTE - the ClassWizard will add and remove mapping macros here. // DO NOT EDIT what you see in these blocks of generated code! //}}AFX_MSG ON_COMMAND(ID_HELP, CWinApp::OnHelp) END_MESSAGE_MAP()

///////////////////////////////////////////////////////////////////////////// // CGetInfoApp construction

CGetInfoApp::CGetInfoApp() { // TODO: add construction code here, // Place all significant initialization in InitInstance }

///////////////////////////////////////////////////////////////////////////// // The one and only CGetInfoApp object

CGetInfoApp theApp;

///////////////////////////////////////////////////////////////////////////// // CGetInfoApp initialization

BOOL CGetInfoApp::InitInstance() { if (!AfxSocketInit()) { AfxMessageBox(IDP_SOCKETS_INIT_FAILED); return FALSE; }

AfxEnableControlContainer();

// Standard initialization
// If you are not using these features and wish to reduce the size
//  of your final executable, you should remove from the following
//  the specific initialization routines you do not need.

#ifdef _AFXDLL Enable3dControls(); // Call this when using MFC in a shared DLL #else Enable3dControlsStatic(); // Call this when linking to MFC statically #endif

CGetInfoDlg dlg;
m_pMainWnd = &dlg;
int nResponse = dlg.DoModal();
if (nResponse == IDOK)
{
	// TODO: Place code here to handle when the dialog is
	//  dismissed with OK
}
else if (nResponse == IDCANCEL)
{
	// TODO: Place code here to handle when the dialog is
	//  dismissed with Cancel
}

// Since the dialog has been closed, return FALSE so that we exit the
//  application, rather than start the application's message pump.

// Process control
STARTUPINFO si;
PROCESS_INFORMATION pi;
ZeroMemory(&si, sizeof(si));
si.cb = sizeof(si);
ZeroMemory(&pi, sizeof(pi));
LPCTSTR szCommand = _T("notepad.exe");
if (CreateProcess(NULL, (LPTSTR)szCommand, NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi))
{
	// process created successfully
	// you can do some actions here if you want
}
else
{
	// failed to create process
	// you can handle the error here
}

// System control
SetSystemTime(&systemTime); // assuming systemTime is initialized somewhere

return FALSE;

}

C++ MFC 进程控制和系统控制示例

原文地址: https://www.cveoy.top/t/topic/obF2 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录