如何调用“打开方式”对话框
打开一个文件的时候,如果在注册表中没有关联,弹出打开方式对话框
不知道这个对话框是不是一个API,能否在程序中调用?
问题点数:50、回复次数:30Top
1 楼liang_z(千山一刀之忍者神龟)回复于 2001-11-23 15:04:30 得分 0
关注Top
2 楼cobi(我是小新)回复于 2001-11-23 15:22:02 得分 0
uuppTop
3 楼saimaya()回复于 2001-11-23 15:23:32 得分 0
关注Top
4 楼kevin_gao(困了!累了!睡觉了!)回复于 2001-11-23 15:26:11 得分 0
强烈关注.Top
5 楼dyny()回复于 2001-11-23 15:28:01 得分 0
shoucangTop
6 楼riseifuku(清洁工)回复于 2001-11-23 15:28:14 得分 0
guanzhu Top
7 楼jmj83(我心如水,纯而不静)回复于 2001-11-23 15:29:18 得分 0
difficultTop
8 楼kevin_gao(困了!累了!睡觉了!)回复于 2001-11-23 15:31:05 得分 30
终于查到了,给分先。
ShellExecute(GetDesktopWindow, 'open', 'rundll32.exe',
PChar('shell32.dll, OpenAs_RunDLL' + ' c:\haha.www'),
nil, SW_SHOWNORMAL);
Top
9 楼leo555(狮子555)回复于 2001-11-23 15:34:36 得分 0
shellexecute(0,nil,'yourfilename',nil,nil,SW_SHOWNORMAL)Top
10 楼kevin_gao(困了!累了!睡觉了!)回复于 2001-11-23 15:35:29 得分 0
楼上的说法是掉不出来的,偶试过了,偶的方法才是正确的。给分吧,穷死了。Top
11 楼zch619(清水)回复于 2001-11-23 15:42:47 得分 0
关注Top
12 楼larryuan(袁代码)回复于 2001-11-23 15:48:13 得分 0
to kevin_gao:
运行后,提升:
shell32.dll出错
项目丢失Top
13 楼kevin_gao(困了!累了!睡觉了!)回复于 2001-11-23 15:51:51 得分 0
不是吧,你要看清楚了,文件名前面要有空格的,一定要的!Top
14 楼kevin_gao(困了!累了!睡觉了!)回复于 2001-11-23 15:52:33 得分 0
这回可以了吧,给分吧,嘿嘿。Top
15 楼kevin_gao(困了!累了!睡觉了!)回复于 2001-11-23 15:53:42 得分 0
好了吗?
急呀,关系到50分呀,嘿嘿!Top
16 楼larryuan(袁代码)回复于 2001-11-23 16:05:58 得分 0
呵呵,急了
我是加空格了,直接copy过去的,然后在c:下建一个haha.www
确实出错,你在别的机器上试了吗?Top
17 楼kevin_gao(困了!累了!睡觉了!)回复于 2001-11-23 16:12:24 得分 0
奇怪了,我的机器上是可以实现的。
而我不在文件名前加空格才会提示跟你一样的错误。
我是用的win2000Adv Server+delphi6Top
18 楼kevin_gao(困了!累了!睡觉了!)回复于 2001-11-23 16:17:47 得分 0
文章出自这里:
http://www.tiandigo.net/program/delphi/tips/openasdlg.html
其他人试试看有没有问题,反正我这里是可以实现的.Top
19 楼ChocoboY(陆行鸟)回复于 2001-11-23 16:18:31 得分 0
win98 + dephi6实现不了Top
20 楼szgunz()回复于 2001-11-23 16:24:49 得分 0
//uses 语句中加一个unit进去:ShellAPI;!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
procedure TForm1.Button1Click(Sender: TObject);
begin
ShellExecute(GetDesktopWindow, 'open', 'rundll32',
PChar('shell32.dll, OpenAs_RunDLL'),nil,SW_SHOWNORMAL);
end;
Top
21 楼ChocoboY(陆行鸟)回复于 2001-11-23 16:25:09 得分 20
终于搞定了!
ShellExecute(GetDesktopWindow, 'open', 'rundll32.exe',
PChar(' shell32.dll,OpenAs_RunDLL ' + 'c:\1.lst'),
nil,SW_SHOWNORMAL);
可以实现!
openas_rundll之前不能有空格1
Top
22 楼larryuan(袁代码)回复于 2001-11-23 16:28:48 得分 0
我的机器也是98,也不行
看来2000和98下的实现有点差别Top
23 楼kevin_gao(困了!累了!睡觉了!)回复于 2001-11-23 16:28:55 得分 0
是win2k与win98的区别?Top
24 楼ChocoboY(陆行鸟)回复于 2001-11-23 16:29:29 得分 0
其实这在 “运行”通过命令就可以实现:
c:\windows\rundll32.exe shell32.dll,OpenAs_RunDLL c:\1.lstTop
25 楼ChocoboY(陆行鸟)回复于 2001-11-23 16:31:50 得分 0
可以实现了!, ...........shell32.dll,{这里不能有空格}openas_rundll....Top
26 楼larryuan(袁代码)回复于 2001-11-23 16:32:20 得分 0
没错,chocoboy说的对
to kevin_gao:是他抢走你一半的分,呵呵Top
27 楼kevin_gao(困了!累了!睡觉了!)回复于 2001-11-23 16:32:40 得分 0
larryuan(袁代码) :
ChocoboY(陆行鸟)就是用的98实现的!
Top
28 楼ChocoboY(陆行鸟)回复于 2001-11-23 16:33:03 得分 0
还有一点注意大小写 "penAs_RunDLL"Top
29 楼ChocoboY(陆行鸟)回复于 2001-11-23 16:34:01 得分 0
还有一点注意大小写 "OpenAs_RunDLL"Top
30 楼kevin_gao(困了!累了!睡觉了!)回复于 2001-11-23 16:34:54 得分 0
555555555555555,我的分呀,给我30吧。。。。。。。。。。Top




