Форум: "WinAPI";
Текущий архив: 2006.02.19;
Скачать: [xml.tar.bz2];
ВнизГорячая клавиша на создание папки в активном окне Найти похожие ветки
← →
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 вся ветка
Форум: "WinAPI";
Текущий архив: 2006.02.19;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.041 c