执行代码
#include<Windows.h>
#include<stdio.h>
int main() {
HINSTANCE hres = ShellExecute(NULL, "open", "notepad", "D:\\ForCoding\\virustest1\\virustest1\\1.txt", "",SW_SHOW);
UINT u = (UINT)hres;
if (u < 33) {
printf("%d", u);
}
getchar();
return 0;
}
严重性 代码 说明 项目 文件 行
错误 C2664 “HINSTANCE ShellExecuteW(HWND,LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR,INT)”: 无法将参数 2 从“const char [5]”转换为“LPCWSTR” virustest1 d:\forcoding\virustest1\virustest1\test1.cpp 9
将所有的字符串前面加 L 即可:
HINSTANCE hres = ShellExecute(NULL, L"open", L"notepad", L"D:\\ForCoding\\virustest1\\virustest1\\1.txt", L"",SW_SHOW);