• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Pobranie Serial Number z Windows CE / Windwos Embedded

Aruba Cloud - Virtual Private Server VPS
0 głosów
256 wizyt
pytanie zadane 2 kwietnia 2023 w C# przez marek.nowak404 Nowicjusz (220 p.)
Witam, potrzebuje prostej aplikacji lub info na temat działającej biblioteki, która będzie w stanie wyciągnąć z urządzenia mobilnego działającym na Windows Embedded Compact 7 numeru seryjnego. Jest to dosyć utrudnione gdyż klasyczne komendy wiersza poleceń nie działają (np wmic bios get serialnumber) a wpisując ipconfig /all jest sporo informacji ale właśnie brakuje serial number. Ograniczeniem jest też fakt że jest to dosyć stary sprzęt (Piszę programy na VS 2008 który wspiera takie urządzenia) więc jedna linijka kodu znana w języku C# też nie zadziała ponieważ metoda nie istnieje.

Pytanie jest kierowane do osób mających styczność z tym system albo kimś kto potrafi "naokoło" dojść do tego. SN można sprawdzić wchodząc w ustawienia, ale potrzebne jest to do mojej aplikacji pisanej w C# która po wciśnięciu przycisku pobierze do zmiennej. Przeszukałem internet na wylot i nie znalazłem żadnych informacji albo jedynie ślepe zaułki (nieaktywne linki z forum)
komentarz 2 kwietnia 2023 przez VBService Ekspert (256,600 p.)

Mimo, że napisałeś

komendy wiersza poleceń nie działają (np wmic bios get serialnumber)

 

sprawdź

sn.vbs

Set oWMIService = GetObject("winmgmts:\\.\root\cimv2")
Set colItems = oWMIService.ExecQuery("Select * from Win32_BIOS",,48)
For Each oItem in colItems
    SerialNumber = oItem.SerialNumber
Next

Set oFSO = CreateObject("Scripting.FileSystemObject")
Set oFile = oFSO.CreateTextFile("sn.txt")
oFile.WriteLine SerialNumber
oFile.Close

 

komentarz 2 kwietnia 2023 przez VBService Ekspert (256,600 p.)

Próbowałeś z KernelIoControl z biblioteki coredll.dll i IOCTL_HAL_GET_DEVICEID bo to chyba odnosi się do SN?

sprawdź

using System;
using System.Text;
using System.Runtime.InteropServices;

namespace SN
{
    class Program
    {
        [DllImport("coredll.dll")]
        private static extern int KernelIoControl(int dwIoControlCode, byte[] lpInBuf, int nInBufSize, byte[] lpOutBuf, int nOutBufSize, ref int lpBytesReturned);

        static void Main(string[] args)
        {
            const int IOCTL_HAL_GET_DEVICEID = 0x101000C;
            byte[] outBuff = new byte[256];
            int outBytes = 0;
            int ret = KernelIoControl(IOCTL_HAL_GET_DEVICEID, null, 0, outBuff, outBuff.Length, ref outBytes);
            string deviceID = Encoding.UTF8.GetString(outBuff, 0, outBytes);
            Console.WriteLine(deviceID);
            Console.ReadLine();
        }
    }
}

 

sprawdź też: GetDeviceUniqueID (coredll)

 

komentarz 2 kwietnia 2023 przez marek.nowak404 Nowicjusz (220 p.)

@VBService, Wyskakuje wtedy następujący błąd: 

testuje jeszcze coredll.dll

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

+4 głosów
2 odpowiedzi 2,187 wizyt
pytanie zadane 12 marca 2023 w Mikrokontrolery przez xdmik23 Gaduła (3,030 p.)
0 głosów
2 odpowiedzi 1,042 wizyt
0 głosów
0 odpowiedzi 456 wizyt

93,329 zapytań

142,323 odpowiedzi

322,400 komentarzy

62,662 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Wprowadzenie do ITsec, tom 1 Wprowadzenie do ITsec, tom 2

Można już zamawiać dwa tomy książek o ITsec pt. "Wprowadzenie do bezpieczeństwa IT" - mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności!

...