Программная перезагрузка КПК

Средства разработки, технические вопросы, отвечает (по мере сил) Отдел Разработок
Закрыто
KarlsonAK
Новенький (0 lvl)
Сообщения: 9
Зарегистрирован: Пт дек 24, 2004 20:08

Программная перезагрузка КПК

Сообщение KarlsonAK » Вт фев 22, 2005 15:25

Добрый день.
Возможно ли программно вызвать холодную перезагрузку устройства.
Ведь при установке некоторых программ после инсталляции КПК перезагружается самостоятельно.
Может кто писал похожий код на VB.NET (и не только :( )?
Anatoliy

Аватара пользователя
KAjFASH
Кандидат (3 lvl)
Сообщения: 117
Зарегистрирован: Чт авг 19, 2004 16:40

Сообщение KAjFASH » Вт фев 22, 2005 17:28

"Soft reset":

Код: Выделить всё

#include <winioctl.h>

#define IOCTL_HAL_REBOOT CTL_CODE(FILE_DEVICE_HAL, 15, METHOD_BUFFERED, FILE_ANY_ACCESS)

extern "C" __declspec(dllimport) BOOL KernelIoControl( DWORD dwIoControlCode, LPVOID lpInBuf, DWORD nInBufSize, LPVOID lpOutBuf, DWORD nOutBufSize, LPDWORD lpBytesReturned);

BOOL ResetPocketPC() {
   return KernelIoControl(IOCTL_HAL_REBOOT, NULL, 0, NULL, 0, NULL);
}
"Hard reset":

Код: Выделить всё

#include <winioctl.h>

#define IOCTL_HAL_REBOOT CTL_CODE(FILE_DEVICE_HAL, 15, METHOD_BUFFERED, FILE_ANY_ACCESS)

extern "C" __declspec(dllimport)void SetCleanRebootFlag(void);
extern "C" __declspec(dllimport) BOOL KernelIoControl( DWORD dwIoControlCode, LPVOID lpInBuf, DWORD nInBufSize, LPVOID lpOutBuf, DWORD nOutBufSize, LPDWORD lpBytesReturned);

BOOL HardResetPocketPC() {
   SetCleanRebootFlag();
   return KernelIoControl(IOCTL_HAL_REBOOT, NULL, 0, NULL, 0, NULL);
}
РегардЗ...
iPAQ, FS LOOX, Versija, Palm, Symbol... SD: 64,128,512
www.salesworks.com.ua

Закрыто

Вернуться в «Программирование для КПК»