1. 检查是否正确包含Windows.h的头文件,以便在代码中引用Windows SDK API。
2. 确认程序是否指定了正确的链接器引用库。在 Visual Studio 中,你可以在链接器配置中添加kernel32.lib和user32.lib依赖项。
3. 避免使用中文或包含特殊字符的文件路径或命令行参数。如果需要使用中文或特殊字符的文件路径或命令行参数,可以使用ShellExecuteW版本的API函数,并确保使用的字符串是宽字符格式。
4. 确保编译器版本和 *** 作系统相符。如果编译器不兼容当前的 *** 作系统版本,也会导致编译链接报错。
如果以上步骤不能解决问题,你可以尝试在互联网上搜索相关问题的解决方法,或者参考文档和示例代码,逐步排查原因并进行解决。
#include <windows.h>
#include <iostream>
#include <string.h>
#include <stdlib.h>
#include <tlhelp32.h> // 声明快照函数的头文件
using namespace std
//#pragma comment( linker, "/subsystem:\"windows\" /entry:\"mainCRTStartup\"" )
int main(int argc, char* argv[])
{
char join[]="\""
char begin[128]
::GetCurrentDirectory(100,begin)
char end[]="\\Maxthon.exe"
strcat(begin,end)
strcat(begin,join)
strcat(join,begin)
::ShellExecute(NULL,"open",join, NULL,NULL,SW_SHOW )
printf("%s\n",join)
return 0
}
右键点工程名,选设置,然后选c/c++属性页,再选catagory选单中选 precompiled header ,将选项置成no use 或者autometic
shellexecute 在什么头文件里包含ShellExecute的功能是运行一个外部程序(或者是打开一个已注册的文件、打开一个目录、打印一个文件等等),并对外部程序有一定的控制。有几个API函数都可以实现这些功能,但是在大多数情况下ShellExecute是更多的被使用的,同时它并不是太复杂。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)