易截截图软件、单文件、免安装、纯绿色、仅160KB

delphi 获取指定文件的图标

前段时间因为项目需要,获取指定文件的图标,绕了很多弯子,现在弄出来了,跟大家共享下.
unit Unit1;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls,ShellAPI, ExtCtrls;
type
  TForm1 = class(TForm)
    lbl1: TLabel;
    btn1: TButton;
    dlgOpen1: TOpenDialog;
    imgPic: TImage;
    procedure btn1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
var
  Form1: TForm1;
  Mem : TMemoryStream;
implementation
{$R *.dfm}
procedure TForm1.btn1Click(Sender: TObject);
var
  FileInfo : TSHFileInfo;
  hc: TIcon;
  Bitmap : TBitmap;
begin
  Mem := Tmemorystream.Create;
  if dlgOpen1.Execute then
  begin
    FileInfo.iIcon := 0;
    SHGetFileInfo(pchar(dlgOpen1.filename), 0, FileInfo, SizeOf(TSHFileInfo),
    SHGFI_ICON or SHGFI_LARGEICON);
    imgPic.Picture.Icon.Handle := FileInfo.hIcon;
    hc := TIcon.Create;
    Bitmap := TBitmap.Create;
    hc.Handle := FileInfo.hIcon;
    Bitmap.width := hc.width;
    Bitmap.height := hc.height;
    Bitmap.Canvas.Draw(0, 0, hc);
    Bitmap.SaveToStream(Mem);
    Mem.SaveToFile(ExtractFilePath(paramstr(0)) + 'qinxh.bmp');
    imgPic.Picture.LoadfromFile(ExtractFilePath(paramstr(0)) + 'qinxh.bmp');
    hc.Free;
    Bitmap.Free;
  end;
end;
end.


相关文档:

Delphi 2010 破解的方法[通用]

破解方法都是用了盒子 Delphi.Distiller.v1.85
费话不多说
 安装任意delphi 2010 正式版
 序列号是 HAAL-DANSGN-FZR5AG-M3BS
  安装完之后点击开始->Embarcadero RAD Studio 2010 ->Check for update
             &nb ......

DELPHI中的快捷方式一览(完全正式版)

 
 1.SHIFT+鼠标左键    先选中任一控件,按键后可选中窗体(选中控件后按Esc效果一样)
 2.Shift+F8          调试时弹出CPU窗口。
 3.Shift+F10         等于鼠标右键(Windows快捷键)。
&n ......

如何用 DELPHI 获取 CPU 的序列号

      在多CPU或多核CPU中,会随机的获得不同的序列号.这就为我们根据CPU序列号来制作注册机带来了很大的麻烦。
Windows 2000/XP允许设置进程和线程的关系。换句话说,可以控制哪个 CPU 能够运行某些线程。这称为Affinity Mask。Windows提供了设置相似性的函数SetProcessAffinityMask ,使用它可 ......

WSAAsyncSelect模型Delphi简单实现


TCP连接建立与关闭
相信各位读者现在对於 Winsock 的定义、系统环境,以及一些 Winsock Stack及 Winsock 应用程式,都有基本的认识了。接下来笔者希望能分几期为各位读者介绍一下简单的 Winsock 网路应用程式设计。我们将以 Winsock 1.1 规格所定义的 46 个应用程式介面(API)为基础,逐步来建立一对 TCP socket 主从架 ......

Delphi中DLL初始化和退出处理


<1>利用Unit的
Initalization与Finalization这两个小节
  可以在Unit的这两个小节中安排Unit的进入和退出,但是
Program

Library并没有这两个部分,所以只能写在Unit中。
<2>利用ExitProc变量
  在Library的begin
..end.中间是可以写代码
的,
这里可以放置
DLL初始化代码
。如果想要做善 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号