mizsi Posted January 18, 2008 Posted January 18, 2008 Sziasztok! Adott egy program, amiben különbözõ Windows alkalmazásokat hívok meg, pl. hangerõszabályzó. Ez a progam Windows XP alatt kiválóan mûködött. A gondom ott kezdõdik, hogy Vista alatt a funkciók nem mûködnek, mert más néven futnak, mint az XP-n. Kérdésem: hogy tudom elérni, hogy a program felismerje az oprendszert, és annak megfelõen cselekedjen. A kód most így néz ki: ShellExecute(Form1.Handle,'open','sndvol32.exe' Na, ugyebár Vista alatt a hangerõszabályzó sndvol.exe név alatt fut.
DonTomika Posted March 15, 2008 Posted March 15, 2008 if LO(GetVersion) <= 5 then begin ShellExecute(Form1.Handle, 'open', 'sndvol32.exe', nil, nil, SW_SHOWDEFAULT); end else if LO(GetVersion) = 6 then begin ShellExecute(Form1.Handle, 'open', 'sndvol.exe', nil, nil, SW_SHOWDEFAULT); end else begin MessageBox(Form1.Handle, 'Ismeretlen operációs rendszer', 'Hiba', MB_ICONERROR or MB_OK); end;
mizsi Posted June 15, 2011 Author Posted June 15, 2011 Sziasztok! Felhozom egy kicsit a topikot. Elővettem újra a programot 3 év után, és szomorúan tapasztaltam, hogy a funkció Windows 7 alatt nem működik if LO(GetVersion) >= 6 esetén sem (az utolsó else ágat elhagytam). Mi lehet a gond?
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now