windows - 确定已注册的延期申请

标签 windows winapi shellexecute

我有一个文件扩展名,我想获取当我通过 Shell 执行该类型的文件时将调用的应用程序的名称(如果有的话)。这是一个 WTL/C++ 应用程序。有没有示例代码可以做到这一点?

谢谢!

最佳答案

tk,

您可能正在寻找 Win32 AssocQueryStringByKey 函数。
http://msdn.microsoft.com/en-us/library/bb773473(VS.85).aspx

指定要返回的字符串类型的 ASSOCSTR 值:

typedef enum {
    ASSOCSTR_COMMAND = 1,
    ASSOCSTR_EXECUTABLE,
    ASSOCSTR_FRIENDLYDOCNAME,
    ASSOCSTR_FRIENDLYAPPNAME,
    ASSOCSTR_NOOPEN,
    ASSOCSTR_SHELLNEWVALUE,
    ASSOCSTR_DDECOMMAND,
    ASSOCSTR_DDEIFEXEC,
    ASSOCSTR_DDEAPPLICATION,
    ASSOCSTR_DDETOPIC,
    ASSOCSTR_INFOTIP,
    ASSOCSTR_QUICKTIP,
    ASSOCSTR_TILEINFO,
    ASSOCSTR_CONTENTTYPE,
    ASSOCSTR_DEFAULTICON,
    ASSOCSTR_SHELLEXTENSION,
    ASSOCSTR_DROPTARGET,
    ASSOCSTR_DELEGATEEXECUTE,
    ASSOCSTR_MAX
} ASSOCSTR;

我的猜测是您需要 ASSOCSTR_FRIENDLYAPPNAME。

关于windows - 确定已注册的延期申请,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/945979/

相关文章:

security - 如果从 Windows 8 RTM 中设置的提升进程和非默认浏览器运行,ShellExecute 会失败

php - 通过 php 执行命令行?

c++ - 使用 Netbeans 启动并运行 Qt

windows - 创建 Oracle Wallet 以在 Windows 上存储数据库凭证

c++ - 非 unicode printf 不起作用

windows - 如何诊断 Windows 上的网络问题?

c# - 使 WPF 窗口表现得像上下文菜单(正确显示/隐藏它)

windows - Windows 驱动程序使用哪个编程接口(interface)来切换事件显示

c# - UnauthorizedException 尝试使用 Windows TaskScheduler 包装器

MysqlDump 出现 ShellExecute 错误