打开文件的问题!急!!!!!!(50分)

  • 主题发起人 主题发起人 xyusun
  • 开始时间 开始时间
X

xyusun

Unregistered / Unconfirmed
GUEST, unregistred user!
在delphi中我需要打开文件及如同windows中的点在文件上的双击
的效果一样。我该怎么作。我找了win32的api函数,但是没有找到
合适的。也用ole试过,但是对于打开word文档和excel文件有问题
,打开时word的菜单会出现在我的程序界面的上面。我并不需要这
样,我是要在一个新的窗口中打开该文件。
过程如下:
OleContainer1.CreateLinkToFile(FileName1, False);
OleContainer1.DoVerb(ovPrimary);
//注意!OleContainer1的visible属性为false!
是不是我的打开的代码有问题?而且用以上代码打开autocad的图片
会打开两个(就是操作做了两边),而打开其他的如*.txt文件就对。这是为什么?
 
难??????不会吧!高手这么多的地方呀!!!!!
 
ShellExecute(Handle, 'Open', 'c:/aaa.txt', NIL, NIL, SW_SHOW);
c:/aaa.txt可改,试试行吧
 
我也想知道!赞助分数~
 
to ili
谢谢你!好像是对的。大部分都能打开,但是个别的不能打开!例如*.pdf文件
打不开。还有mapinfo等我还没试(我机子上没装,呵呵)不过分还是要给你的。
为了看看还有没有新的见解。分我等等给你,还有你能帮我想想为什么,*.pdr文件
打不开?还有当在打开系统不认识的文件时,能不能象windows一样给个选择打开方式的
提示框????
 
不知.pdr在你系统中默认是用什么东东打开的?关于对系统不识别文件的打开问题,我也想知道
你看看Windows SDK,我不太懂SW_SHOWDEFAULT等的用途(英文太差了)
 
ShellExecute(Handle, nil, 'c:/aaa.txt', NIL, NIL, SW_SHOW);
('Open'改为nil)
 
var
retval : integer;
Filename : string;
begin
retval := ShellExecute(Handle, 'open', Filename, nil, nil, SW_MAXIMIZE);
if retval <= 32 then ShellExecute(Handle, 'open', 'Rundll32.exe', PChar('shell32.dll,OpenAs_RunDLL ' + Filename), nil, SW_MAXIMIZE);
end;
 
谢谢大家的帮助!我先试试!
 
to dushai!
你说得很对呀!不过。*。pdf的问题还是没解决!能帮我想想吗?我把分数加给你和lil
不好意思分不多了
 
多人接受答案了。
 
*.pdf在我的机器上没什么问题啊,自动打开了“Acrobat Reader 5.0”,在没有安装它的机器上,也自动打开了“打开方式”的对话框,你再试试
 
后退
顶部