昨天我看到了WINAPI的一个函数,这个函数可以运行PE文件,就算PE文件无后缀也可以运行
只需要传入这个文件的绝对位置+文件名,就可以运行这个文件
(这也是taskmgr里为什么会出现TMP后缀文件的原因)
想请问这是哪个函数?我不记得了
您说的函数可能是 CreateProcess 函数,它是 Windows API 中用于创建新进程的函数之一。
您可以通过传入要运行的可执行文件的路径和文件名,以及其他相关参数,来调用 CreateProcess 函数来启动一个新进程。该函数会返回一个表示新进程的句柄。这个函数也可以运行没有后缀名的可执行文件,只要您提供了正确的文件路径。
以下是一个简单的示例代码片段,展示了如何使用 CreateProcess 函数来运行一个可执行文件:
#include <Windows.h>
int main()
{
STARTUPINFO si;
PROCESS_INFORMATION pi;
ZeroMemory(&si, sizeof(si));
ZeroMemory(&pi, sizeof(pi));
// 设置 STARTUPINFO 结构体
si.cb = sizeof(si);
// 创建新进程
if (CreateProcess(NULL, "<文件路径>", NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi))
{
// 等待新进程结束
WaitForSingleObject(pi.hProcess, INFINITE);
// 关闭句柄
CloseHandle(pi.hProcess);
CloseHandle(pi.hThread);
}
return 0;
}
请将 <文件路径> 替换为您要运行的可执行文件的路径和文件名。在调用 CreateProcess 之后,您可以使用 WaitForSingleObject 函数等待新进程的结束。最后,不要忘记关闭进程和线程句柄。
WinAPI中能运行进程的有CreateProcess或者ShellExecute.
微软文档有API使用示例:CreateProcessA
ShellExecuteA function