|
|
1
9
ShellExecute的返回值是多少?如果是0x0000001F(=31,意思是
|
|
|
2
9
到托马斯家 answer ,这里是一些vb6常量,用于 ShellExecute 有可能的解释 page ,返回值部分)。返回值小于等于32表示调用失败。返回的特定值指示出了什么问题。
|
|
|
3
4
您将“open”作为动词,不要这样做,请使用vbNullString作为动词(“open”表示打开的动词,空表示默认的动词(如果用户没有设置特定的默认值,则默认值为open,如果该文件类型没有打开的动词,则ShellExecute使用找到的第一个动词) |
|
|
4
3
看看你的
|
|
|
5
3
我使用findexecutable API,而不是使用shellexecute“执行”PDF文件:
|
|
|
6
1
如果你在用
在代码中,则必须创建一个单独的线程,以便通过 ShellExecute。 在这里看到更多: Calling Shell Functions and Interfaces from a Multithreaded Apartment |
|
|
7
1
您可以将文件从usernamex文件夹复制到新的username文件夹(桌面、文档等)。 |
|
|
8
1
我也遇到了同样的问题,无法更改VB6代码。所以我必须找到另一个解决办法… 在我的例子中,它是一个扩展名为“.xyz”的文件,但实际上它是一个用于Microsoft Word的文件,类似于.doc文件。 当第一次双击时,Windows要求使用程序打开文件。在那之后,双击工作得很好。但ShellExecute没有。问题是,ShellExecute在文件上执行“右键单击”->“打开”,而在.xyz文件的上下文菜单中不存在“打开”。只有一个“编辑”…所以shellexecute使用“edit”,但不使用“open”作为第二个参数。 因为我无法更改vb6代码,所以我用regedit打开了注册表。在路径“hkey_classes_root\.doc”中,标准值是“word.document.8”,在“hkey_classes_root\.xyz”中,只有“xyz_auto_file”。所以我把这个值改成了“word.document.8”,一切都很顺利。现在,当我右键单击.xyz文件时,我有了与.doc文件相同的上下文菜单。 而且ShellExecute也能很好地工作… |
|
|
9
1
我对使用动词的现有程序也有同样的问题
以下是我添加的注册表值的导出:
|
|
|
10
1
在从w7x64更新到w10公共版本之后,我在编译的VisualFoxPro 9应用程序中遇到了与op相同的问题。 我安装了Adobe Acrobat和Adobe Reader。将默认的.pdf关联从reader更改为acrobat,然后…一切正常!改回读卡器时出现原始故障(错误代码31-“没有与给定文件扩展名关联的应用程序。”)。比我强,但幸运的是我不用担心。我太老了,不关心,将要求所有网站留在W7。 任何关联都可以从文件资源管理器工作 |
|
|
11
1
从只支持ansii的命令调用unicode版本(shellexecutew),该命令在最新版本的
Inno Setup
.ShellExecutew为一些ansii字符串参数工作,但在本例中不是必需的参数,返回2(请参见
below
)
|
|
|
12
0
下面是一个将Windows错误号转换为文本的函数。您可以使用返回值作为参数,并返回一条更友好的消息。
|
|
|
13
-1
试试这个。 您必须将PDF文件与任何程序(如Acrobat X)关联以读取PDF,然后您可以使用ShellExecute打开PDF文件。 |