Вниз
Скачать: CL | DM;

Горячая клавиша на создание папки в активном окне   Найти похожие ветки 

 
Andron.Ru ©   (2005-12-05 08:20) [0]

Как создать папу в активном окне Explorera при помощи комбинации клавиш... С хуками разумеется это не проблема, а вот как это сделать без них.. С учетом того что программа не имеет окна, но висит в процессе..

Заранее спасибо!!


 
Rouse_ ©   (2005-12-05 11:01) [1]

unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
 ActiveX, SHDocVw, ShellAPI;

type
 TForm1 = class(TForm)
   procedure FormCreate(Sender: TObject);
 private
   IDHOT: Cardinal;
   procedure WMHotKey(var Message: TMessage); message WM_HOTKEY;
 end;

var
 Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
 IDHOT := GlobalAddAtom("Alt+Space hotkey");
 RegisterHotKey(Handle, IDHOT, MOD_WIN, 90);
end;

procedure TForm1.WMHotKey(var Message: TMessage);
var
ShellWindow: IShellWindows;
WB: IWebBrowserApp;
spDisp: IDispatch;
I: Integer;
FWindow: THandle;
NS: IShellFavoritesNameSpace;
begin
 if Message.WParam = IDHOT then
 begin
   FWindow := GetForegroundWindow;
   ShellWindow := CoShellWindows.Create;
   for I := 0 to ShellWindow.Count - 1 do
   begin
     spDisp := ShellWindow.Item(I);
     if spDisp = nil then Continue;
     spDisp.QueryInterface(IWebBrowserApp, WB);
     if WB <> nil then
       if WB.HWND = FWindow then
         // Тут создавай директорию. Путь к открытой папке лежит в WB.LocationURL
   end;
 end;
end;

end.


 
Rouse_ ©   (2005-12-05 11:01) [2]

ЗЫ: горячую клавишу в примере поставил не на ALT+Space а на WIN+Z :)



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.036 c
15-1138275515
DesWind
2006-01-26 14:38
2006.02.19
Проблема с перепрошивкой BIOS


2-1138703794
Юля
2006-01-31 13:36
2006.02.19
База данных. Отчет.


15-1138443966
oldman
2006-01-28 13:26
2006.02.19
"Влип, очкарик" :))) (опрос)


3-1135237012
krb
2005-12-22 10:36
2006.02.19
Импорт из db-Vista


3-1135167042
kreyl
2005-12-21 15:10
2006.02.19
Как подсчитать количество неодинаковых записей в датасете?




   Наверх