wykrywanie czy'mój komputer'jest otwarty

0

Jak zrobić żeby program mówił mi czy okno "Mój komputer" lub inny katalog na dysku jest otwarty. Oraz jak już "Mój komputer" będzie otwarty to za pomocą Edita umieszczonego na formie edytować pasek "Adres"

Proszę o pomoc nic takiego nie znalazłem.

Wyszukałem tylko jak zrobić czy wimamp jest otwarty mniej więcej tak:

function Szukaj : boolean;
begin
  hwnd_winamp := FindWindow('winamp v1.x',nil);
  if hwnd_winamp = 0 then begin
    showmessage('Nie znalazłem Winampa !');
    result := false;
  end else
    result := true;
end;

Próbowałem zamiast tego ('winamp v1.x') wpisywać jakieś ścieżki ale nic to nie dało

0

zamiast nil wpisz 'Mój komputer' a zam,iast winamp1.x wpisz nil

0

zamiast nil wpisz 'Mój komputer' a zam,iast winamp1.x wpisz nil

A jak ktoś sobie nazwał 'Mój komputer' np. 'Mój sprzęt'? Tutaj masz jak nazwany jest 'Mój komputer':
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}

Ale jak chcesz różne dyski i katalogi, to odradzam powyższy sposób.
Lepiej w swoim kodzie zamiast 'winamp...' wpisz 'CabinetWClass' - mam nadzieję, że tylko okna explorera mają taką nazwę klasy.

0

Zrobiłem dwa sposoby ale nic to nie daję kiedy mam włączone okno 'Mój komputer'
to i tak pojawia się showmessage(NIe ma okna);

function Szukaj : boolean;
begin
 hwnd_winamp := FindWindow(nil,'HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}');
 if hwnd_winamp = 0 then begin
  showmessage('Nie Ma okna');
  result := false;
 end else
  result := true;
end;

i 

function Szukaj : boolean;
begin
 hwnd_winamp := FindWindow(nil,'Mój komputer');
 if hwnd_winamp = 0 then begin
  showmessage('Nie znalazłem Winampa !');
  result := false;
 end else
  result := true;
end;
0
hwnd_winamp := FindWindow(nil,'HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}');

Czy Ty się dobrze czujesz??
Przecież to jest nazwa klucza w rejestrze [glowa]

Poza tym nie spróbowałeś proponowanego przeze mnie rozwiązania...

0

no dobra ok :) po prostu próbowałem wszystkiego juz wykrywa dobrze czy okno jest czy go nie ma ale jak zrobić żeby np za pomocą edita na formie zedytować tzn wpisać coś na pasek adres albo np kliknąć przycisk wstecz. ?? [???]

0

no to co ze tam jest!!!
:-D
czlowieku on sprawdza czy jest okno o takim captionie!!
najpierw trzeba to wyciagnac z rejestru.
ROTFL LOL ROTFL

0

ROTFL !!! Hehe. no dobra ale u mnie to jest pod HKEY_CLASSES_ROOT....

sam jesteś ROTFL - kolejny łosiek, co to polewa z innych a sam wie niewiele wiecej [glowa]

To co pokazałeś to totalnie co innego - sprawdź najpierw swoje informacje

Poza tym tak się składa, że klucz HKEY_CLASSES_ROOT jest wirtualny - nie istnieje w rejestrze - to pozostałość po Win3.1 w celach kompatybilności i jest to tylko skrót do HKEY_LOCAL_MACHINE\SOFTWARE\Classes - to tak btw.

0

A jak ktoś sobie nazwał 'Mój komputer' np. 'Mój sprzęt'? Tutaj masz jak nazwany jest 'Mój komputer':
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}

U mnie tam nic nie piszą o czym kolwiek co jest moje :P

0

Nie widzisz tam nic bo nie zmieniłes nazwy.Polityka systemu jest taka,że gdy nie znajdzie nazwy w tym kluczu to stosuje domyślną nazwę ikony czyli "Mój Komputer" ,gdy zmienisz nazwę ikony to ta wartość się tam pojawi.

Pozdrawiam

0

super dzieki ale czy ktos mógłby mi jeszcze wyjaśnić jak za pomocą edita na Formie w OnChange jednocześnie zmieniać na pasku adres albo nacisnąć np jakiś button typu wstecz albo dalej.

[???]

0

jak zacząłem programować w delphi to chciałem w ten sposób zablokować dostęp do niektórych folderów ale po przemyśleniu szybko zrezygnowałem z tego pomysłu :).
Musisz znaleźć button zdaje się poleceniami FindWindow, FindWindowEx a potem najlepiej komunikat LPM-w dół i LPM-w góre na tym przycisku.

0

a czy mógłby ktoś podać jakiś przykład

1 użytkowników online, w tym zalogowanych: 0, gości: 1