Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <Windows.h>
- #include <tchar.h>
- #include <tlhelp32.h>
- BOOL isRunning(const TCHAR* process) {
- BOOL ret = FALSE;
- HANDLE hProcessSnap;
- PROCESSENTRY32 pe32;
- hProcessSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
- if (SUCCEEDED(hProcessSnap)) {
- pe32.dwSize = sizeof(PROCESSENTRY32);
- if (Process32First(hProcessSnap, &pe32)) {
- if (!_tcsicmp(pe32.szExeFile,process)) {
- ret = TRUE;
- }
- else {
- while (Process32Next(hProcessSnap, &pe32)) {
- if (!_tcsicmp(pe32.szExeFile, process)) {
- ret = TRUE;
- break;
- }
- }
- }
- CloseHandle(hProcessSnap);
- }
- }
- return ret;
- }
- INT WINAPI WinMain(_In_ HINSTANCE hi, _In_opt_ HINSTANCE ho, _In_ LPTSTR cmdLine, _In_ INT iS) {
- const TCHAR* separador = TEXT(" ");
- if (cmdLine != NULL && _tcsclen(cmdLine) > 0) {
- TCHAR* cmdName = NULL;
- TCHAR* processToWait = NULL;
- if (_tcsstr(cmdLine, separador)) {
- TCHAR* context = NULL;
- cmdName =_tcstok_s(cmdLine, separador,&context);
- processToWait = _tcstok_s(NULL, separador, &context);
- }
- else {
- cmdName = cmdLine;
- }
- if (cmdName != NULL) {
- ShellExecute(NULL, TEXT("open"), cmdName, NULL, NULL, 0);
- if (processToWait != NULL) {
- while (TRUE) {
- Sleep(2000);
- if (!isRunning(processToWait)) {
- break;
- }
- }
- }
- }
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement