我想通过shellexecute()通过变量打开一个文件,方法是将字符串变量赋值为文件名字。。

可以实现吗?
初学,不是很明白。
我想通过shellexecute()通过变量打开一个文件,方法是将字符串变量赋值为文件名字。。

你可以试下这样可以不

#include <Windows.h>

int main() {
    LPCTSTR pszFile = TEXT("file.txt");
    ShellExecute(NULL, TEXT("open"), pszFile, NULL, NULL, SW_SHOWNORMAL);
    return 0;
}

其中,第一个参数为父窗口句柄,这里设为 NULL ;第二个参数为操作类型,这里设为 open ;第三个参数为要打开的文件名,使用 LPCTSTR 类型存储文件名字符串;其余参数不需要使用,设为 NULL ;最后一个参数为打开文件时的窗口状态,这里设为 SW_SHOWNORMAL,可根据需要进行调整。

  • 这篇博客: ShellExecute打开外部程序并输入相应参数中的 前言 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • ShellExecute函数常被用来打开外部程序,这是很常用的功能,但是对打开的程序附加命令这个没使用过,其实函数本身包含这个参数。

  • 以下回答由chatgpt基于相关博客总结生成:

    可以使用ShellExecute()函数来打开一个文件,也可以通过将字符串变量赋值为文件名的方法来实现。下面是一个示例代码,它展示了如何使用ShellExecute()函数来打开一个名为"example.txt"的文本文件:

    #include <Windows.h>
    #include <Shellapi.h>
    
    int main()
    {
        LPCSTR file = "example.txt"; // 定义文件名
        ShellExecute(NULL, "open", file, NULL, NULL, SW_SHOWNORMAL); // 打开文件
        return 0;
    }
    

    在上面的示例代码中,LPCSTR类型的file变量指向要打开的文件名(如果文件在当前目录中,则只需要在变量中指定文件名即可)。然后,ShellExecute()函数被调用来执行打开操作,其中第二个参数"open"表示要打开指定的文件,NULL表示没有在文件上执行任何操作,SW_SHOWNORMAL表示文档将以普通大小和位置显示。在你的程序中你只需要前面两个参数就行了。