Показать полную графическую версию : ExitWindows
допустим я пишу :
ExitWindowsEx(EWX_POWEROFF,1);
или EWX_SHUTDOWN то винда не отрубается а начинает постоянно входить сама в себя:) появляется приглашение о входе итд и все это буде продолжаться пока совсем не ребутнусь... Сижу под 98ми компилю по Делфи 6 Обьясните плиз что не так?
MF CAP
Как ни странно, но у меня всё работает... Правда Win2k, но это по идее это не имеет значения.
наверно всетаки винда.....пора сносить :)
допустим я пишу :
ExitWindowsEx(EWX_POWEROFF,1);
или EWX_SHUTDOWN то винда не отрубается а начинает постоянно входить сама в себя появляется приглашение о входе итд и все это буде продолжаться пока совсем не ребутнусь... Сижу под 98ми компилю по Делфи 6 Обьясните плиз что не так?
Поставь WIN2000 и Delph5 и будет все пучком....по крайней мере у меня все работает....
Guest
Очень интересно, как компилятор может повлиять на работу апишной функции? Или это было сказано к тому что у вас "всё пучком"?
Повлиять на работу апишной функции? Запросто !
unit ActiveX (D6):
tagREGKIND = (REGKIND_DEFAULT, REGKIND_REGISTER, REGKIND_NONE);
TRegKind = tagREGKIND;
function LoadTypeLibEx(szFile: POleStr; regkind: TRegKind; out tlib: ITypeLib): HResult; stdcall;
и cмотрите что выходит:
Sizeof(TRegKind) = 1 - следовательно компилятор забивает регистер AX, а не EAX - в итоге в EAX передаётся невесть что
Так что, MF CAP
a) проверьте описание функции
б) опишите функцию и константы альтернативно
в) дизассемблируйте вызов функции, убедитесь что передаются ИМЕННО ВАШИ ПАРАМЕТРЫ
в моём примере помогло дизассемблирование с последующим альтернативным описанием
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.