实际开发中,经常需要为实现一个特定功能模块而单独生成一个可执行文件,这些exe文件一般不单独执行,通常情况下需要主调exe通过传入必要的参数才能正确启动,在这个时候,需要做一下处理,禁止双击打开被调的exe文件。其实做法很简单,通过对传入的参数稍微进行一下判断就可以实现了。具体代码实现如下:
被调程序代码(假设为A.exe):
int APIENTRY _tWinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPTSTR lpCmdLine,
int nCmdShow)
{
if(_tcslen(lpCmdLine) == 0)
{
MessageBox(NULL, _T("非法启动方式!"), _T(""), MB_OK);
return -1;
}
……….
return 0;
}
主调程序中可以如下通过CreateProcess,ShellExcute等API来创建进程,传入启动标识等参数,启动上述被调程序。
ShellExecute(NULL, _T("open"), _T(“A.exe”), _T(“ACCESS”), NULL, SW_SHOW);