当我的C应用程序使用这个简单的WinAPI代码启动时,我试图隐藏控制台窗口:
#define CONSOLE_NAME "6FD66E14-FF0F-4B94-B8AF-AFE3D42DC399"
void hide_window(void)
{
// Ставим заголовок для консольного окна / Setting window caption
SetConsoleTitle(TEXT(CONSOLE_NAME));
// Находим по заголовку Handle для окна / Searching Handle of the window
HWND hWnd = FindWindow(NULL, TEXT(CONSOLE_NAME));
if (hWnd == 0)
{
ErrorExit(TEXT("FindWindow"));
}
// Скрываем консоль / Hidding console
ShowWindow(hWnd, SW_HIDE);
}
int _tmain(int argc, _TCHAR* argv[])
{
hide_window();
/* other code */
}
一切正常,如果没有激活防病毒软件,但是当卡巴斯基运行并监控系统时,我无法使用上面的代码,因为hWnd == 0
是 true 并且GetLastError()
= 183 错误(“当该文件已存在时无法创建文件。 ”)发射!
问题:我能做什么?我所需要的只是隐藏那个控制台窗口。
请帮我解决这个问题。
十分感谢!
PS。使用 Visual Studio 2010 (Visual C++)