小编des*_*ect的帖子

在哪些情况下程序退出0x40010004代码?

我的程序旨在在Windows平台上运行.

有时它会以错误终止.我无法在安装它的每台计算机上调试它; 所以我向它添加了向量异常处理程序,它向服务器发送一些有关异常的信息.有一些0xC0000005例外; 我修复了它,但程序仍然终止(我无法在我的电脑上重现错误).

我编写了另一个程序,它等待主进程句柄,并在主进程终止时发送带有进程退出代码的报告.我查看了退出代码,其中大部分都是0x40010004(DBG_TERMINATE_PROCESS).我知道当调试器附加到应用程序然后终止它时,会出现此退出代码; 但我确信没有调试器.

那么......在哪些其他情况下可以使用DBG_TERMINATE_PROCESS退出代码终止处理?

windows debugging terminate

10
推荐指数
1
解决办法
2万
查看次数

PrintWindow()无法打印Google Chrome窗口(Chrome_WidgetWin_1)

我使用的是Microsoft Visual Studio 2010和Windows 7 Professional.这是我将窗口图像复制到剪贴板的代码:

void PrintWindowEx( HWND hWnd )
{
    HDC hDCMem = CreateCompatibleDC(NULL);
    RECT rect;

    GetWindowRect(hWnd, &rect);

    HBITMAP hBmp = NULL;

    HDC hDC = GetDC(hWnd);

    hBmp = CreateCompatibleBitmap(hDC, rect.right - rect.left, rect.bottom - rect.top);

    HGDIOBJ hOld = SelectObject(hDCMem, hBmp);
    PrintWindow(hWnd, hDCMem, 0);

    SelectObject(hDCMem, hOld);
    DeleteObject(hDCMem);

    OpenClipboard(hWnd);

    EmptyClipboard(); 
    SetClipboardData(CF_BITMAP, hBmp);
    CloseClipboard();

    ReleaseDC(hWnd, hDC);
}
Run Code Online (Sandbox Code Playgroud)

它适用于除谷歌Chrome主窗口以外的所有窗口.我认为这是因为Chrome使用直接渲染,因此我已禁用硬件加速chrome://settings.仍然无法正常工作.然后我意识到由于Chrome Sandbox中的限制,处理邮件可能会受到限制,因此我使用--no-sandbox命令行选项启动了Chrome .仍然无法正常工作.

我怎样才能让它发挥作用?适用于Chrome和Chrome等任何其他窗口.BitBlt()是不可接受的,因为窗口的某些部分窗口可能会被另一个窗口重叠,窗口可以在其他桌面上等等.有任何可行的解决方案吗?也许将DLL加载到另一个进程或类似的东西.

UPD:它重绘后RedrawWindow(); 所以我可以截取屏幕截图(部分 - 左侧部分(宽度~20px),右侧部分不复制).那么,是否支持WM_PRINT?如何获取窗口的完整屏幕截图?

c windows winapi google-chrome window

4
推荐指数
2
解决办法
1722
查看次数

zLib inflate() 在解压缩缓冲区时挂起

我使用 zLib 1.2.7,取自此处。我已在 Microsoft Visual Studio 2010 中将其编译为静态库并将其添加到我的项目中。

我需要解压缩一些用 deflate 算法压缩的二进制数据。这里是:

unsigned char rawData[114] =
{
    0x00, 0x00, 0x00, 0x00, 0x15, 0x82, 0x05, 0x9D, 0x62, 0x91, 0x9A, 0x86, 0x26, 0xF3, 0x45, 0xBF, 
    0xE1, 0x69, 0x19, 0xA8, 0x80, 0x21, 0x08, 0x43, 0xF1, 0xEF, 0xCC, 0x01, 0x68, 0x4E, 0x3C, 0x06, 
    0x59, 0x6D, 0x90, 0xB2, 0x1F, 0xC3, 0x87, 0xC2, 0xBF, 0xC0, 0x90, 0xBE, 0x1F, 0x11, 0xB6, 0xD7, 
    0xB7, 0x06, 0x18, 0x32, 0x5F, 0x80, 0x8F, 0x09, 0xF1, 0x81, 0xF2, 0xB8, 0xC8, 0x9E, …
Run Code Online (Sandbox Code Playgroud)

zlib inflate spdy

0
推荐指数
1
解决办法
989
查看次数

标签 统计

windows ×2

c ×1

debugging ×1

google-chrome ×1

inflate ×1

spdy ×1

terminate ×1

winapi ×1

window ×1

zlib ×1