delphi hell tem 接口-delphi 里面 IShellItem是如何使用的。

问题描述

delphi 里面 IShellItem是如何使用的。

提示未定义IShellItem ,不知道是那个头文件未引用,
系统是Win7,
delphi7和delphixe2都试过,头文件引用了ShellAPI ComObj还是不行;

解决方案

应该是ShlObj;

给你段代码参考

uses ActiveX ComObj ShlObj;

function TForm1.CopyItem(const aSrcItem aDest aNewName: string): HRESULT;
const
CLSID_FileOp: TGUID = '{3ad05575-8857-4850-9277-11b85bdb8e09}';
var
lFileOperation: IFileOperation;
psiFrom: IShellItem;
psiTo: IShellItem;
begin
//
// Initialize COM as STA.
//
Result := CoInitializeEx(nil COINIT_APARTMENTTHREADED or COINIT_DISABLE_OLE1DDE);
if Succeeded(Result) then
begin

//// Create the IFileOperation interface//Result := CoCreateInstance(CLSID_FileOp nil CLSCTX_ALL IFileOperation                      lFileOperation);if Succeeded(Result) thenbegin  //  // Set the operation flags. Turn off all UI from being shown to the  // user during the operation. This includes error confirmation  // and progress dialogs.  //  Result := lFileOperation.SetOperationFlags(FOF_NO_UI);  if Succeeded(Result) then  begin    //    // Create an IShellItem from the supplied source path.    //    Result := SHCreateItemFromParsingName(aSrcItem                                     nil                                     IShellItem psiFrom);    if Succeeded(Result) then    begin      if aDest <> '' then      begin        //        // Create an IShellItem from the supplied        // destination path.        //        Result := SHCreateItemFromParsingName(aDest                                         nil                                         IShellItem psiTo);      end;      if Succeeded(Result) then      begin        //        // Add the operation        //        Result := lFileOperation.CopyItem(psiFrom psiTo aNewName nil);        psiTo := nil;      end;      psiFrom := nil;    end;    if Succeeded(Result) then    begin      //      // Perform the operation to copy the file.      //      Result := lFileOperation.PerformOperations;    end;  end;  //  // Release the IFileOperation interface.  //  lFileOperation := nil;end;CoUninitialize;

end;
end;

解决方案二:
C++是Shobjidl.h,Windows XP SP1以上
delphi的sdk可能比较旧。xe2不知道。

解决方案三:
不好意思,这段代码,我看到过,这个ShlObj里面也没有IShellItem的定义;

时间: 2024-09-24 18:53:58

delphi hell tem 接口-delphi 里面 IShellItem是如何使用的。的相关文章

接口-delphi能做微信定时群发功能吗,求思路

问题描述 delphi能做微信定时群发功能吗,求思路 我想做个微信公众号群发定时的,微信那有接口,我也不大懂接口,没怎么去了解,求思路和方法,谢谢 解决方案 可以,使用微信公众账号(以前叫订阅号),官网有sdk 解决方案二: http://www.cnblogs.com/txw1958/p/weixin89-mass-send.html 解决方案三: 这个看SDK吧,如果连SDK都不看,怎么做..

Delphi 2007 For Win32/Delphi For PHP,速度真的很快!

在使用Delphi For PHP的时候也让人回想起以前Delphi 7的时光,这当然是因为Delphi For PHP是使用Delphi 7开发的,在很久没有使用纯原生整合发展环境之后,特别令人感觉亲切和有一种非常怀念的熟悉味道.许多开发者仍然在使用Delphi 7,甚至有人做了一个所谓的Delphi 7绿色携带版,因为这个版本非常的好用又快速,许多开发者一直抱怨为什么Delphi 7之后的版本要使用.NET来写,使用.Net显得太慢了.当然Delphi新的IDE加入了许多的新功能,Toget

delphi 函数指针 参数-delphi使用函数指针调用函数第一个参数不能获取。

问题描述 delphi使用函数指针调用函数第一个参数不能获取. 完整代码如下所示,定义了一个函数指针类型TFunctiontest = function (const a:integer; const b:integer; const c:integer): integer; 然后定义了一个指针变量.再定义了一个函数function functiona(const a :integer; const b:integer;const c:integer):integer;并将该函数的地址赋值给函数

delphi result 返回值-delphi不知怎的秀逗了,连Result都不认识了,谁知道是什么原因?

问题描述 delphi不知怎的秀逗了,连Result都不认识了,谁知道是什么原因? function TForm1.Test: Boolean; begin Result:=False; end; 编译直接报错 [Error] Unit1.pas(29): Undeclared identifier: 'Result' 解决方案 return false呢

delphi rave分页打印-Delphi rave如何选择指定页打印

问题描述 Delphi rave如何选择指定页打印 Delphi rave如何选择指定页打印,打印预览的时候选择了打印2到2,或3到4,但总是从第一页开始打印,请问各位大侠,怎么解决,谢谢! 解决方案 http://wenku.baidu.com/link?url=1otOFkPvTGSDeSQh_4VPoViaYHvkkZuGFLawLBTp2N1vc5XFpMbnz96FCjqBb4BREHFFjyPT7UKY5KBaOvAXQV1mXuOdK-9nGYnGHilSW9S 解决方案二: 按照

delphi问题-怎么用DELPHI编程填特定表格

问题描述 怎么用DELPHI编程填特定表格 请教一个填表编程问题,表如图,要求空格为0到5之间的数,每行相加等于5,每列相加等于表末指定的数,这样问题要如何编程解决. AB B1 B2 B3 B4 B5 B6 B7 A1 5 A2 5 A3 5 A4 5 A5 5 A6 5 A7 5 A8 5 A9 5 A10 5 A11 5 A12 5 A13 5 A14 5 A15 5 A16 11 11 15 8 13 17 75

为什么有些IE浏览器不能显示绝对定位的内容?是版本问题?还是其他,有没有解决方法?

问题描述 为什么有些IE浏览器不能显示绝对定位的内容?是版本问题?还是其他,有没有解决方法? 解决方案 你的版本是什么,IE8或者以上用F12功能看下css怎么应用的. 解决方案二: 需要ie版本信息和使用的布局样式,再详细介绍下 解决方案三: IE绝对定位元素神秘消失或被遮挡的解决 在进行网页布局设计的时候,经常会根据需要设置相对,绝对以及浮动定位最近突然发现了一个奇妙的现象:IE绝对定位元素神秘消失或被遮挡 首先是IE绝对定位元素神秘消失设置的绝对定位元素突然从IE浏览器下消失了,然而火狐能

Delphi的接口(1)

之前, 有朋友夸过我: 博文通俗易懂, 能把复杂的问题简单化; 希望我对接口的理解也能对大家有所帮助; 不过其中个人理解的成分多些, 错 误之处万望指出. "接口" 的概念和 "类" 特别是 "抽象类" 近似, Delphi 之初并没有接口, 后来(Delphi 3)为了支持 COM 引入了接口, 再 后来发展成为 Delphi 重要的语言特性. 应该先简单了解点 COM, 说到 COM, 能让我想到 "有心栽花花不活, 无 意插柳柳成

基于Delphi的接口编程入门

为什么使用接口? 举个例子好了:有这样一个卖票服务,电影院可以卖票,歌剧院可以卖票,客运站也可以卖票,那么我们是否需要把电影院..歌剧院和客运站都设计成一个类架构以提供卖票服务?要知道,连经理人都可以卖票,很显然不适合把经理人也包括到卖票服务的继承架构中,我们需要的只是一个共通的卖票服务.于是,卖票的服务是个接口,电影院.歌剧院什么的只要都遵循这样一个服务定义就能很好地相互交互和沟通(如果须要的话). 如何在Delphi中使用接口 1.声明接口 IMyInterface = interface(