Kako da prizovem uređaj dijalog svojstva iz aplikacije ili sa komandne linije

Rezime

Ovaj članak opisuje kako da prizovem uređaj dijalogSvojstva u aplikaciji ili sa komandne linije pomoću funkcije DeviceProperties_RunDLL .

Više informacija

Pomoću upravljača uređajima možete da pokrenete uređaj dijalog Svojstva za određeni uređaj. Koristeći funkciju DeviceProperties_RunDLL iz Devmgr.dll datoteke, korisnici mogu da pokrenu dijalog sa svojstvima uređaja ili programski ili sa komandne linije.

Funkcija prototipa

    void DeviceProperties_RunDLL(    HWND hwndStub,    HINSTANCE hAppInstance,    LPCTSTR lpCmdLine,    int    nCmdShow    )   /*++    Routine Description:      This API opens the property pages for the specified device.       This function can be executed by means of a rundll command line and will have the following form:             rundll32.exe devmgr.dll, DeviceProperties_RunDLL  <options>      Arguments:        hwndStub - Windows handle to receive any message boxes that might appear.            hAppInstance - HINSTANCE.            lpCmdLine - Command line options passed in (for example, /DeviceID <device instance Id>).        nCmdShow - Flag that specifies how device manager should be shown when               it is opened. It can be one of the SW_ values (for example, SW_SHOW).   Return Value:       none   --*/

Opcije komandne linije

Funkcija DeviceProperties_RunDLL prihvata sledeće opcije komandne linije:Napomena opcija imena, /DeviceId i /MachineName, ne razlikuju.

  • /DeviceId < uređaj Id instance > Ova opcija određuje uređaj kojem će prikazati svojstva za. Pozivalac morate navesti DeviceId. Može se preuzeti iz registra ili iz "Upravljač uređajima". Za više informacija o konfigurisanju Upravljač uređajima da biste prikazali informacije o DeviceId , pogledajte odeljak „Reference”.

  • /MachineName < ime mašine > Ova opcija određuje ime mašina gde je uređaj pripada. Ova opcija je potreban ako funkcija se koristi za aplikacije u operativnom sistemu Windows 2000, to jest, potrebno je da navedete ovu opciju, ni mašina ime je prazno u slučaju lokalnog računara.

Prizivamo programsko

Za programsko pozivanje dijaloga " Svojstva " uređaj, morate učitati Devmgr.dll, a zatim da pribavite adresu funkcije. Takođe morate definisati makro da se mapiraju u prototip za odgovarajuće (ili Non-podržava Unikod). Sledeći je uzorak koda:

   #ifdef _UNICODE    #define DeviceProperties_RunDLL  "DeviceProperties_RunDLLW"   typedef void (_stdcall *PDEVICEPROPERTIES)(       HWND hwndStub,       HINSTANCE hAppInstance,       LPWSTR lpCmdLine,       int    nCmdShow       );   #else   #define DeviceProperties_RunDLL  "DeviceProperties_RunDLLA"   typedef void (_stdcall *PDEVICEPROPERTIES)(       HWND hwndStub,       HHINSTANCE hAppInstance,       LPSTR lpCmdLine,       int    nCmdShow       );   #endif   PDEVICEPROPERTIES pDeviceProperties;   HINSTANCE  hDevMgr = LoadLibrary(_TEXT("devmgr.dll"));   if (hDevMgr) {       pDeviceProperties = (PDEVICEPROPERTIES)GetProcAddress((HMODULE)hDevMgr,                                DeviceProperties_RunDLL);  }   if (pDeviceProperties){       pDeviceProperties(m_hWnd, hInst, _TEXT("/MachineName \"\" /DeviceID PCI\\VEN_8086\&DEV_2445\&SUBSYS_010E1028                              \&REV_12\\3\&172E68DD\&0\&FD"), SW_SHOW);  }

Prizivamo iz komandne linije

Da iskopamo uređaj dijalog sa svojstvima iz komandne linije, Pokreni komande kao sljedeće naredbe:

  • rundll32.exe devmgr.dll,DeviceProperties_RunDLL /DeviceID root\system\0000

  • rundll32.exe devmgr.dll,DeviceProperties_RunDLL /MachineName "" /DeviceID root\system\0000

  • rundll32.exe devmgr.dll,DeviceProperties_RunDLL /DeviceID „PCI\VEN_8086 & DEV_2445 & SUBSYS_010E1028 & REV_12\3 & 172E68DD & 0 & FD”

Napomena Ako postoji simbol ampersand (&) za ID instance uređaja, morate otkucati dvostrukih navodnika iskaznicu.

Reference

Za više informacija, kliknite na sledeći broj članka da biste videli članak u Microsoft bazi znanja:

kako konfigurirati "Upravljač uređajima" da biste prikazali detaljne informacije

Windows Rundll i Rundll32 interfejsi

Potrebna vam je dodatna pomoć?

Unapredite veštine
Istražite obuku
Prvi nabavite nove funkcije
Pridružite se Microsoft insajdere

Da li su vam ove informacije koristile?

Hvala vam na povratnim informacijama!

Hvala za povratne informacije! Izgleda da će biti od pomoći ako vas povežemo sa našim agentima Office podrške.

×