-
Data: 2009-10-08 20:57:15
Temat: Re: Który program zastąpi mi HyperTerminal pod MS Vista?
Od: Adam Dybkowski <a...@4...pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]Zbych pisze:
>> Ja w swoich programach stosuję sposób listowania urządzeń używany np. w
>> systemowym Menedżerze urządzeń i działa to poprawnie począwszy od
>> systemu Windows 95 OSR2 aż po 64-bitowy Windows 7. Używam do tego
>> funkcji: SetupDiGetClassDevs, SetupDiEnumDeviceInfo,
>> SetupDiGetDeviceRegistryProperty, SetupDiDestroyDeviceInfoList.
>
> Możesz wkleić przykładowy kod listujący porty?
Pierwszy z brzegu przykład (nie z ISP Programmera):
void enum_ports_nt(void)
{
GUID lptcom = {0x4d36e978, 0xe325, 0x11ce,
{0xbf,0xc1,0x08,0x00,0x2b,0xe1,0x03,0x18}};
HDEVINFO h;
BOOLEAN res;
char dev_name[256];
SP_DEVINFO_DATA devinfo_data;
DWORD i;
h = SetupDiGetClassDevs(&lptcom, NULL, 0, DIGCF_PRESENT | DIGCF_PROFILE);
if (h == INVALID_HANDLE_VALUE) {
err("SetupDiGetClassDevs");
return;
}
i = 0;
do {
devinfo_data.cbSize = sizeof(SP_DEVINFO_DATA);
res = SetupDiEnumDeviceInfo(h, i, &devinfo_data);
if (res) {
if (SetupDiGetDeviceRegistryProperty(h, &devinfo_data,
SPDRP_FRIENDLYNAME,
NULL, dev_name, sizeof(dev_name), NULL))
printf("%s\n", dev_name);
//print_io_information(&devinfo_data.DevInst, 0);
i++;
}
} while (res);
SetupDiDestroyDeviceInfoList(h);
}
void err(const char *fun)
{
LPVOID buf;
DWORD errcode = GetLastError();
FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER |
FORMAT_MESSAGE_FROM_SYSTEM |
FORMAT_MESSAGE_IGNORE_INSERTS, NULL, errcode,
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), (LPTSTR) &buf, 0, NULL);
printf("Blad %d w funkcji %s(): %s\n", errcode, fun, buf);
LocalFree(buf);
}
Pocięło linie na kawałki ale da się zrozumieć po skopiowaniu do edytora.
Sorry reszta grupy za nieprzydatnego dla większości elektroników posta.
--
Adam Dybkowski
http://dybkowski.net/
Uwaga: przed wysłaniem do mnie maila usuń cyfry z adresu.
Następne wpisy z tego wątku
Najnowsze wątki z tej grupy
- Zlacze w mikrofonie z lat 80-tych
- Żywica żółknie od UV i wody :(
- Zawory termostatyczne
- Schemat automatyki
- Teoretyczne zagadnienie - ogrzewanie budynku
- Zagadka radiowa
- Prostownik
- Nowy akumulator Donut Lab
- Pilot do zamka/bramy
- Jaka myjka ultradźwiękowa?
- Retro organizer ale współcześnie
- Skąd diody LED 1,5V?
- Apollo Comm
- PICkit3 mnie pokonał
- LEDy na choinkę zdechły
Najnowsze wątki
- 2026-01-17 To się NIE DZIEJE
- 2026-01-17 Czy to się kwalifikuje pod jakiś paragraf?
- 2026-01-17 Piaseczno cd 2
- 2026-01-17 Chlapacze do OPLA ale GUMOWE
- 2026-01-17 Toyota dba o Niemców.
- 2026-01-17 Wrocław => Junior Konsultant wdrożeniowy ERP <=
- 2026-01-17 Zlacze w mikrofonie z lat 80-tych
- 2026-01-17 Warszawa => Inżynier Systemów i Sieci <=
- 2026-01-17 Czy Trenerzy AI już kogoś pozwali za "zatrute ciastka"?
- 2026-01-17 Poznań => Konsultant SAP HCM <=
- 2026-01-17 Niestabilny materiał wybuchowy W AKCJI
- 2026-01-17 Myślenice => Junior SAP CO Consultant <=
- 2026-01-17 Warszawa => Data Developer <=
- 2026-01-17 pozwy przeciwko OpenAI związane z samobójstwami
- 2026-01-16 I kolejny jebniety 2




Fakturzystka, fakturzysta