我用openDialog打开一个文件,如果用反回字符串来找该文件的Handle行不行!(200分)

J

joioy

Unregistered / Unconfirmed
GUEST, unregistred user!
我用openDialog打开一个文件,如果用反回字符串来找该文件的Handle行不行!
 
OPenDialog 只是返回了文件名,它没有真正去打开一个文件.

更谈不上 文件的Handle
 
那怎么办呢。
如果我知道了Handle,那哪个API能得出该文件的文件名呢?
 
你要实现什么功能啊?
 
有文件名还不容易吗?

openfile
fileopen
createfile
我记不请了. 你查下帮助吧.
 
procedure TForm1.Button1Click(Sender: TObject);
var
F : file;
begin
AssignFile(F, 'c:/autoexec.bat');
Reset(F);
try
ShowMessage(TFileRec(F).Name);
finally
CloseFile(F);
end;
end;
 
好象有个叫什么GetModuleName的。
 
这样是取不出来的。
Handle必须是正在运行的Windows程序,Handle代表占据一定的Windows资源。
如果只有一个文件名,只能通过取得首地址,通过汇编来实现了。
 
AssignFile(f,OpenDialog1.FileName)
 
打扰一下,上次分已经给你加上了,但我还得问你一下。内容如下:
begin
MessageDlg(edit1.text+'程序正在执行中。。。', mtInformation, [mbOK], 0);
end;

我主要想动态在提示框中显示一个控件内容的变化,但又想改变标题的名字,你提供给我的那个不支持,望帮我解决一下。
 
Windows.MessageBox(
Application.Handle,
PChar(edit1.text+'程序正在执行中。。。'),
PChar('提示信息在这儿'),
MB_OK);
 
文件哪来的handle?
 
小兄弟,文件对话框是不能返回选中文件的句柄的!
Handle概念比较多,例如
打开文件读写的Handle,
进程的Handle,
线程的Handle,
窗口的Handle,
甚至Socket的Handle等等,不知道你说的Handle是那一种啊!
 
楼上说的都差不多。
关键是你想要文件的Handle干什么用。
 
多人接受答案了。
 
顶部