小编Tim*_*ell的帖子

为什么MessageBox会无声地失败?

有谁知道MessageBox(...)如何无声地失败?

MessageBox(g_hMainhWnd, buffer, "Oops!", MB_OK | MB_ICONERROR);

ShellExecute(0, "open", "http://intranet/crash_handler.php", NULL, "", SW_SHOWNORMAL);
Run Code Online (Sandbox Code Playgroud)

对于一个小上下文,此代码在我们自己的异常处理程序中调用,该处理程序使用SetUnhandledExceptionFilter()注册

大多数时候,我看到消息框,然后启动Web浏览器.

但是,我有一个exe,据我所知,使用这个确切的代码,它成功启动了Web浏览器,但我没有先看到消息框.

谢谢

蒂姆


破了.我试图故意传入垃圾HWND并且没有出现消息框.

谢谢Brian!

c++ windows winapi

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

是否有一种将元数据与C++中的函数相关联的整洁方式

我有一个包含许多命令行选项的代码库.目前,如果在命令行上传入命令,则每个命令行选项都与表中的函数指针一起存在于表中.

例如

static CommandFunction s_Commands[] =
{
   { "command1", Func1 },
   { "command2", Func2 },
   { "command3", Func3 },
   etc...
};
Run Code Online (Sandbox Code Playgroud)

我的问题是,表格很大,而且功能在其他地方.我更喜欢命令的字符串住在每个函数旁边.

例如:

COMMAND_ARG("command1")
void Func1()
{
    dostuff
    ...
}

COMMAND_ARG("command2")
void Func2()
{
    dostuff
    ...
}

COMMAND_ARG("command3")
void Func3()
{
    dostuff
    ...
}
Run Code Online (Sandbox Code Playgroud)

这可能吗?

c++

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

发生崩溃时是否有任何方法可以删除通知图标?

有没有办法在发生崩溃时自动删除NotifyIcon?(我知道你可以用鼠标移除它)

我正在运行Windows XP.

c# winapi windows-xp winforms

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

我怎样才能#include一个名字是从宏构建的文件?

在跨平台项目中,我想#include一个头文件,其名称包含平台的名称.我有一个平台的#define宏.

例如,对于

#define PLATFORM win32
Run Code Online (Sandbox Code Playgroud)

我想要

#include "engine\win32\devices_win32.h"
Run Code Online (Sandbox Code Playgroud)

而对于

#define PLATFORM linux
Run Code Online (Sandbox Code Playgroud)

我想要

#include "engine\linux\devices_linux.h"
Run Code Online (Sandbox Code Playgroud)

我要用Richard Pennington的答案,减去一行代码 - 它对我有用!

#define PLATFORM Linux
#define xstr(x) #x
#define str(x) xstr(x)
#define sub(x) x
#include str(sub(engine/PLATFORM/devices_)PLATFORM.h)
Run Code Online (Sandbox Code Playgroud)

c++ c-preprocessor

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

我可以在编译时检测(并警告)冗余吗?

有没有什么方法可以在编译时捕获并警告冗余?

if (abc && abc)
Run Code Online (Sandbox Code Playgroud)

要么

if (def || def)
Run Code Online (Sandbox Code Playgroud)

好吧,这实际上并不是从优化的角度来看 - 我正在考虑更多的代码错误 - 所以当编码器打算写

if (abc && abc)
Run Code Online (Sandbox Code Playgroud)

实际上他们打算写的时候

if (abc && def)
Run Code Online (Sandbox Code Playgroud)

编译器将默默地优化错误,而我实际上想知道是否可以让编译器警告我,如果发生这种情况,万一它在那里是错误的!

c++

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

标签 统计

c++ ×4

winapi ×2

c# ×1

c-preprocessor ×1

windows ×1

windows-xp ×1

winforms ×1