eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaKtóry program zastąpi mi HyperTerminal pod MS Vista?Re: Który program zastąpi mi HyperTerminal pod MS Vista?
  • Path: news-archive.icm.edu.pl!news.rmf.pl!agh.edu.pl!news.agh.edu.pl!news.onet.pl!not
    -for-mail
    From: Adam Dybkowski <a...@4...pl>
    Newsgroups: pl.misc.elektronika
    Subject: Re: Który program zastąpi mi HyperTerminal pod MS Vista?
    Date: Thu, 08 Oct 2009 22:57:15 +0200
    Organization: http://onet.pl
    Lines: 66
    Message-ID: <haljn9$djb$1@news.onet.pl>
    References: <h...@p...onet.pl> <hag469$27qb$1@news.mm.pl>
    <h...@p...onet.pl> <haim6r$vka$1@news.mm.pl>
    <haj8ai$cpl$1@news.onet.pl> <hak21h$7be$1@atlantis.news.neostrada.pl>
    NNTP-Posting-Host: aelo62.neoplus.adsl.tpnet.pl
    Mime-Version: 1.0
    Content-Type: text/plain; charset=ISO-8859-2
    Content-Transfer-Encoding: 8bit
    X-Trace: news.onet.pl 1255035433 13931 79.191.40.62 (8 Oct 2009 20:57:13 GMT)
    X-Complaints-To: n...@o...pl
    NNTP-Posting-Date: Thu, 8 Oct 2009 20:57:13 +0000 (UTC)
    User-Agent: Thunderbird 2.0.0.23 (Windows/20090812)
    In-Reply-To: <hak21h$7be$1@atlantis.news.neostrada.pl>
    Xref: news-archive.icm.edu.pl pl.misc.elektronika:572895
    [ ukryj 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.

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: