/* Another Windows C file. Build is much like the other, install MS SDK, * then run in the 'CMD shell' under SDK folder: * cl getnextserver.cpp advapi32.lib */ #include #include #include int main(int argc, char* argv[]) { const char* subkey = "System\\CurrentControlSet\\Control\\PXE"; HKEY key=0; DWORD pxedatasize; LPBYTE pxedata; DWORD regType; if (RegOpenKey(HKEY_LOCAL_MACHINE,subkey,&key) == ERROR_SUCCESS) { // Ok, so we have found PXE, we can get next-server, woo RegQueryValueEx(key,"BootServerReply",0,®Type,NULL, &pxedatasize); pxedata=(LPBYTE)malloc(pxedatasize); RegQueryValueEx(key,"BootServerReply",0,®Type,pxedata, &pxedatasize); printf("%d.%d.%d.%d\n",pxedata[0x14],pxedata[0x15],pxedata[0x16],pxedata[0x17]); } }