0

_asm int 5h 通常用作 prtscrn。怎么查这个。不仅 prntscrn 任何中断,如 reboot int 19h.. 等都可以通过应用程序中断。我试图为重启编码

int _tmain(int argc, _TCHAR* argv[])
{
    //_asm mov al, 2
    _asm int 19h //reboot
    //_asm in 3
}

它给予访问冲突

4

2 回答 2

1

一般来说,这些中断是受保护的(假设您没有在实模式 DOS 下运行)。也许 int 5h可能会起作用,因为它是按下打印屏幕键的中断。

于 2012-10-10T07:15:20.013 回答
1

BIOS 或 MSDOS 中断(int 0x10 到 0x33 以及一些很少使用的较大数字的中断)都不能在 Windows 应用程序中工作。它们只能在 DOS 程序中工作。Windows 使用不同的方法为 Windows 应用程序提供其功能,并且 Windows 应用程序不支持所有这些 BIOS/DOS 整数。在 Windows 应用程序中,它们会导致异常,通常会导致操作系统终止您的程序。

于 2012-10-10T07:37:01.957 回答