网络小工具 ShareView[11]

[入库:2005年8月18日] [更新:2007年3月24日]

本文简介:选择自 lyris 的 blog

    procedure formshow(sender: tobject);
    procedure filerefreshactionexecute(sender: tobject);
    procedure lvsessionsmousedown(sender: tobject; button: tmousebutton;
      shift: tshiftstate; x, y: integer);
    procedure lvfilesmousedown(sender: tobject; button: tmousebutton;
      shift: tshiftstate; x, y: integer);
    procedure filecloseactionexecute(sender: tobject);
    procedure n13click(sender: tobject);
    procedure n15click(sender: tobject);
    procedure n16click(sender: tobject);
    procedure n19click(sender: tobject);
    procedure n17click(sender: tobject);
    procedure tvcomputercontextpopup(sender: tobject; mousepos: tpoint;
      var handled: boolean);
  private
    { private declarations }
    procedure wmsyscommand(var msg: tmessage); message wm_syscommand;
    procedure wmhotkeyhandle(var msg: tmessage); message wm_hotkey;
  public
    { public declarations }
    frootnode, fcurnode: ttreenode;
    fsendtonames: tstrings;
    traynotifyicon1: ttraynotifyicon;
    hotkeyid: integer;
    procedure showmainform(sender: tobject);
  end;

var
  mainform: tmainform;

implementation

uses multinst, netutils, sendpopupmsg, netmonutils, shlobj, lkqdialogs, shellapi, clipbrd;

{$r *.dfm}

procedure tmainform.formactivate(sender: tobject);
begin
  frootnode := tvcomputer.items.add(tvcomputer.topitem, '整个网络');
  frootnode.imageindex := 0;
  tvcomputer.setfocus;
end;

procedure tmainform.tvcomputerclick(sender: tobject);
var
  selectednode, node: ttreenode;
  strs: tstrings;
  i: integer;
begin
  if tvcomputer.selected = nil then
    exit;
  selectednode := tvcomputer.selected;
  strs := tstringlist.create;
  try
    if selectednode.level = 0 then
    begin
      if selectednode.count = 0 then
      begin
        getnetgroupnamelist(strs);
        for i := 0 to strs.count - 1 do
        begin
          node := tvcomputer.items.addchild(frootnode, strs[i]);
          node.imageindex := 1;
          node.selectedindex := 1;
        end;
      end;
    end;
    if selectednode.level = 1 then
    begin
      if selectednode.count = 0 then
      begin
        getcomputernamelist(selectednode.text, strs);
        for i := 0 to strs.count - 1 do
        begin
          node := tvcomputer.items.addchild(selectednode, strs[i]);
          node.imageindex := 2;
          node.selectedindex := 4;
        end;
      end;
    end;
    if selectednode.level = 2 then
    begin
      if fsendtonames.indexof(selectednode.parent.text + '*') <> -1 then exit;
      if fsendtonames.indexof(selectednode.text) = -1 then
        fsendtonames.add(selectednode.text);
      edtoname.text := fsendtonames.commatext;
    end;
  finally
    strs.free;
  end;
end;

procedure tmainform.formcreate(sender: tobject);
begin
  fsendtonames := tstringlist.create;
  setwindowlong(edtoname.handle, gwl_style,
    getwindowlong(edtoname.handle, gwl_style) or
    es_uppercase);
  setwindowlong(edfrom.handle, gwl_style,
    getwindowlong(edfrom.handle, gwl_style) or
    es_uppercase);
  traynotifyicon1 := ttraynotifyicon.create(self);
  with traynotifyicon1 do
  begin
    icon := application.icon;

本文关键:网络小工具 ShareView
  相关方案
Google
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top