C++ DLL Not running on Windows XP when built with Windows 7 -
i'm total newb c++ needed add methods existing c++ dll. dll built visual studio 2008 , worked on windows 7 , windows xp. after added methods , built dll again still worked on windows 7 not on xp. call dll java , following exception:
after searching around on bit found dependency walker shows me this:
the command line options compiling are
/gs /analyze- /w3 /gy /zc:wchar_t /zi /gm- /o2 /ob1 /fd".\release/" /zc:inline /fp:precise /d "win32" /d "ndebug" /d "_windows" /d "_usrdll" /d "ntprocessdll_exports" /d "_vc80_upgrade=0x0600" /d "_using_v110_sdk71_" /d "_windll" /d "_mbcs" /errorreport:prompt /gf /wx- /zc:forscope /gd /oy- /mt /fa".\release/" /ehsc /nologo /fo".\release/" /fp".\release/ntprocessdll.pch"
and linker command is
/out:".\release\ntprocessdll.dll" /manifest /pdb:".\release/ntprocessdll.pdb" /dynamicbase:no "pdh.lib" /def:".\ntprocessdll.def" /implib:".\release/ntprocessdll.lib" /debug /dll /machine:x86 /safeseh /incremental:no /pgd:".\release\ntprocessdll.pgd" /manifestuac:"level='asinvoker' uiaccess='false'" /manifestfile:".\release\ntprocessdll.dll.intermediate.manifest" /errorreport:prompt /nologo /tlbid:1
and methods added these:
void _minimizeprocess(long npid) { enumwindows(enumwindowsprocminimize, npid); } bool callback enumwindowsprocminimize(hwnd hwnd, lparam lparam) { hwnd g_hwnd = null; dword lpdwprocessid; getwindowthreadprocessid(hwnd, &lpdwprocessid); if (lpdwprocessid == lparam) { g_hwnd = hwnd; showwindow(g_hwnd, sw_minimize); closehandle(g_hwnd); sleep(1); return false; } return true; }
any running on xp highly appreciated. many in advance!
i ran similar problems in past, _xp toolsets never worked. download , install visual studio 2010 (link). run visual studio 2015 , go compiler options, should have there new toolset - vs100. compile library , should work.
Comments
Post a Comment