ShellExecute在winxp下用不了呀,高手帮看看 ( 积分: 100 )

  • 主题发起人 主题发起人 coolice823
  • 开始时间 开始时间
C

coolice823

Unregistered / Unconfirmed
GUEST, unregistred user!
在delphi中打开网页用代码。
该代码在win2000下正常运行,在winxp下确没有任何反应
sUrl ="http://www.flyhgiht.com"
ShellExecute(Application.Handle, 'OPEN', PChar(sUrl), nil, nil, sw_shownormal);
 
uses shellAPI;
引用该单元,就OK了!
 
以前我也碰到过这问题,也是用它来打开IE,不是没引用单元的问题,记得当时解决的时候还要查注册表什么的,反正最后就用WINEXE打开了
 
不是引用shellapi的问题,已经试过了,请大家继续关注
 
是你IE的不让打开吧?你试下改为以下的测试
ShellExecute(handle,'open','c:/','','',SW_SHOWDEFAULT );
是否打开c:?,如果不打开,没可能是你其它软件禁用了ShellExecute,不关编程的事
 
ShellExecute(Handle, PChar('OPEN'), PChar('http://www.flyhgiht.com'), nil, nil, SW_SHOWMAXIMIZED);

sUrl ="http://www.flyhgiht.com"
这是pascal语句?
赋值要用 :=
字符串要 用单引号
语句要 用 ; 结束

你连编译都过不了
还谈什么反应
 
我在 xp 下测试成功:
uses shellAPI;


procedure TForm1.Button1Click(Sender: TObject);
var
sUrl: string;
begin
sUrl:='http://www.163.com';
ShellExecute(Application.Handle, 'OPEN', PChar(sUrl), nil, nil, sw_shownormal);
end;
 
楼上的兄弟,=只不过是发贴的时候手误,打错了呀,不要抓住这个不放呢。解决问题才是关键。
5楼的兄弟,试了
ShellExecute(handle,'open','c:/','','',SW_SHOWDEFAULT );
能打开,并且
ShellExecute(handle,'mailto:','abc@163.com','','',SW_SHOWDEFAULT );
也能打开。
 
郁闷,可能是我的系统禁用了什么东东。我这边几台机器测试都有问题,2000下是正常的。
 
use my following codes for a try

uses shellApi;
procedure TForm1.Button1Click(Sender: TObject);
var
sUrl: string;
begin
sUrl:='http://www.sina.com';
shellexecute(application.Handle,'open','iexplore.exe',pchar(sUrl),nil,sw_normal);
end;
 
可能是.com的文件关联没有设置!
因为ShellExecute的流程是:
OPEN,根据扩张名字或前最,例如.pas http://找class_root中定义的关联类
在根据 Shell/Open/Command 的默认打开的!
呵呵!
 
可能有的XP用不了,蕃茄花园的可能就不行
 
解决了,可能是系统的问题。也不知道出在哪。在软件中加了一个自带的浏览器,如果用shellexecute打不开则用内部浏览器打开。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
589
import
I
后退
顶部