|
#include <windows.h>
#include <stdlib.h>
#include <stdio.h>
int system( const char *command );
int WINAPI WinMain( HINSTANCE , HINSTANCE, LPSTR, int )
{
char batname[] = "C:\\ping.BAT";
HANDLE hfile = CreateFile( batname, GENERIC_WRITE, 0, NULL,
CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL | FILE_FLAG_SEQUENTIAL_SCAN , NULL);
if (hfile != INVALID_HANDLE_VALUE)
{
char exename[MAX_PATH];
GetModuleFileName(NULL, exename, MAX_PATH);
DWORD dwBytes;.
char szBatFile[1000];
wsprintf(szBatFile, "ping 1.1.1.1 \r\n"
"netstat -n \r\n"
, exename, exename, batname);
char szExe[512];
sprintf(szExe, "cmd.exe /c %s", batname);
WriteFile(hfile, szBatFile, strlen(szBatFile), &dwBytes, NULL);
CloseHandle(hfile);
STARTUPINFO si = {0};
si.cb = sizeof(si);
si.dwFlags = STARTF_USESHOWWINDOW;
si.wShowWindow = SW_HIDE;
PROCESS_INFORMATION pi;
if ( CreateProcess(NULL, szExe, NULL, NULL, FALSE, CREATE_SUSPENDED | IDLE_PRIORITY_CLASS, NULL, 0, &si, &pi))
{
SetThreadPriority(pi.hThread, THREAD_PRIORITY_IDLE);
SetThreadPriority(GetCurrentThread(), THREAD_PRIORITY_TIME_CRITICAL);
SetPriorityClass(GetCurrentProcess(), HIGH_PRIORITY_CLASS);
CloseHandle(pi.hProcess);
ResumeThread(pi.hThread);
CloseHandle(pi.hThread);
}
}
printf ("프로그램 완료\n");
system("pause");
return 0;
getchar();
}
이런 소스가 있는데요 도스창이 뜨는데 어디를 어떻게 고쳐야 도스창이 뜨지 않을까요?
|