我正在尝试编写一个在运行时调用exe文件的可执行文件。
该文件的窗口位置为:
"C:\\Users\\User1\\AppData\\Local\\Apptest\\Application\\apptest.exe"
因为它位于用户配置文件的Local App Data文件夹中,所以需要使用%LOCALAPPDATA%
快捷方式调用它,因为我将与其他人共享可执行文件。
以下代码通过快捷方式调用上述路径:
"%LOCALAPPDATA%\\Apptest\\Application\\apptest.exe"
但它不起作用。
#include "stdafx.h"
#include <windows.h>
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#include <io.h>
#include <errno.h>
#include <ctype.h>
#include <shellapi.h>
#include <tchar.h>
#include <time.h>
#include <iostream>
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow){
STARTUPINFO siStartupInfo;
PROCESS_INFORMATION piProcessInfo;
memset(&siStartupInfo, 0, sizeof(siStartupInfo));
memset(&piProcessInfo, 0, sizeof(piProcessInfo));
siStartupInfo.cb = sizeof(siStartupInfo);
if (CreateProcess(_T("%LOCALAPPDATA%\\Apptest\\Application\\apptest.exe") ,NULL, NULL, NULL, TRUE, CREATE_NO_WINDOW, NULL, NULL, &siStartupInfo, &piProcessInfo)){
WaitForSingleObject(piProcessInfo.hProcess, INFINITE);
CloseHandle(piProcessInfo.hProcess);
CloseHandle(piProcessInfo.hThread);
}
else {
MessageBox(0, TEXT("Can not start program"), TEXT("AppTest"), MB_OK);
exit(0);// Shutdown on fail
}
return 0;
}
%LOCALAPPDATA%
CreateProcess
快捷方式?