Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.06.20;
Скачать: CL | DM;

Вниз

Помогите получить папку с которой работает пользователь   Найти похожие ветки 

 
Гранкин Александр   (2002-06-09 16:50) [0]

Здраствуйте. Нужно получить путь, где в данный момент открыто окно Explorera (Напр: Мой. комп, диск С:, с:/windows). Я думаю нужно сперва получить hwnd explorera а затем достать строчку с адрессом. Помогите реализовать. Заранее благодарен.


 
[BAD]Angel ©   (2002-06-09 16:59) [1]

Хай. Я пробовал... но, дело в том, что у меня получилось взять путь активного окна, в том случае если в настройках експлорера стоит: Отображать путь в строке заголовка или в строке адреса... Тогда можно взять путь, но это не выгодно для юзеров, которые сидят без этого!


 
Гранкин Александр   (2002-06-09 17:02) [2]

Можете написать код?


 
[BAD]Angel ©   (2002-06-09 17:10) [3]

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Menus, ExtCtrls;

type
TForm1 = class(TForm)
ListBox1: TListBox;
Timer1: TTimer;
Button2: TButton;
procedure Timer1Timer(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
h, hm, h1: THandle;
buf: pchar;
buf1: string;
i: integer;
Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.Timer1Timer(Sender: TObject);
begin
h:=windowfrompoint(POINT(Mouse.CursorPos.x, Mouse.CursorPos.y));
if h=3116 then begin
caption:="true";
ListBox1.Items[0]:=inttostr(GetSystemMenu(getmenu(h),false));
end else caption:="false";
h1:=windowfrompoint(POINT(Mouse.CursorPos.x, Mouse.CursorPos.y));
caption:=inttostr(h);
end;

procedure TForm1.Button2Click(Sender: TObject);
var h, Child, Child1: hWnd;
C: array [0..127] of char;
S: string;
buf: pchar;
begin
h := FindWindow("CabinetWClass", NIL);
Child := GetWindow(h, GW_CHILD);
while Child <> 0 do begin
if GetClassName(Child, C, SizeOf(C)) > 0 then begin
S:=StrPAS(C);
if S="SHELLDLL_DefView" then begin
child1:=getwindow(child, GW_CHILD);
caption:="SysListView32: "+inttostr(Child1);
sendmessage(Child1, WM_SYSKEYDOWN, VK_F3, 0);
end;
end;
Child:=GetWindow(Child, GW_HWNDNEXT);
end;
end;

end.


Ищет хэндл SysListView32 - а как папку определить воспользуйся WinSight (прога такая)


 
Гранкин Александр   (2002-06-09 17:16) [4]

Спасибки. Будем работать



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

Текущий архив: 2002.06.20;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.011 c
14-65232
Alx2
2002-05-17 14:23
2002.06.20
Освежим воспоминания?


1-65124
Zl
2002-06-07 10:19
2002.06.20
Здарово!!!


1-65079
Help mine mind!
2002-06-08 20:20
2002.06.20
Kак в TDBGrid добавить текст!


4-65288
Ильясов Вадим
2002-04-21 19:32
2002.06.20
Отправка сообщений о нажатии клавиш другим окнам.


14-65217
wHammer
2002-05-17 14:43
2002.06.20
Без темы