Delphi 使用从windows复制状态窗体

Delphi 使用从windows复制状态窗体,delphi,delphi-xe2,Delphi,Delphi Xe2,使用delphi,当我开始复制时,我可以显示什么样的表单? 非常感谢。您应该使用该功能 procedure TForm1.Button1Click(Sender: TObject); var shfileop: TSHFileOpStruct; begin shfileop.Wnd := Handle; shfileop.wFunc := FO_COPY; shfileop.pFrom := PChar('C:\myfile.txt'#0); shfileop.pTo :=

使用delphi,当我开始复制时,我可以显示什么样的表单? 非常感谢。

您应该使用该功能

procedure TForm1.Button1Click(Sender: TObject);
var
  shfileop: TSHFileOpStruct;
begin
  shfileop.Wnd := Handle;
  shfileop.wFunc := FO_COPY;
  shfileop.pFrom := PChar('C:\myfile.txt'#0);
  shfileop.pTo := PChar('C:\Copy of myfile.txt'#0);
  shfileop.fFlags := 0;
  SHFileOperation(shfileop);
end;
你应该使用这个函数

procedure TForm1.Button1Click(Sender: TObject);
var
  shfileop: TSHFileOpStruct;
begin
  shfileop.Wnd := Handle;
  shfileop.wFunc := FO_COPY;
  shfileop.pFrom := PChar('C:\myfile.txt'#0);
  shfileop.pTo := PChar('C:\Copy of myfile.txt'#0);
  shfileop.fFlags := 0;
  SHFileOperation(shfileop);
end;

请注意,需要使用#0,因为此api接收双端字符串,以便可以传递多个文件名。谢谢:)我已经向msdn阅读了太多关于TSHFileOpStruct的内容,这非常有趣。我将句柄定义为THandle,但需要为其分配什么值?Delphi XE2警告我未初始化。如果我将其设置为0,是否正确?或者我需要它的一些价值?不,它不是一个坦德尔,它是一个窗户把手,HWND。使用
MainForm.Handle
。这应该是对Andreas答案的评论,而不是答案本身。好了,现在我明白了,现在我正在使用控制台应用程序进行测试,所以我可以写什么到mainform.handle的位置?再次感谢。请注意,需要使用#0,因为此api接收双端字符串,以便可以传递多个文件名。谢谢:)我已经向msdn阅读了更多关于TSHFileOpStruct的内容,这非常有趣。我将句柄定义为THandle,但需要为其分配什么值?Delphi XE2警告我未初始化。如果我将其设置为0,是否正确?或者我需要它的一些价值?不,它不是一个坦德尔,它是一个窗户把手,HWND。使用
MainForm.Handle
。这应该是对Andreas答案的评论,而不是答案本身。好了,现在我明白了,现在我正在使用控制台应用程序进行测试,所以我可以写什么到mainform.handle的位置?再次感谢。