- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试构建一个简单的错误报告包。如果我的主程序崩溃,它会保存崩溃日志,然后启动报告程序。报告程序询问用户是否可以将崩溃日志发送给我,然后就这样做了。我正在使用 NSRunAlertPanel 创建一个基本消息框。
出于某种原因,该消息框隐藏在任何其他可能打开的窗口下方。从 Finder 窗口运行主包,它显示在顶部,强制它崩溃,报告器窗口显示在 Finder 窗口后面。
为什么会出现这种情况,如何解决?
最小测试用例:
#import <AppKit/AppKit.h>
int main(int a, char* av) {
NSAutoreleasePool* pool = [[NSAutoreleasePool alloc] init];
NSApplication* q = [[NSApplication alloc] init];
NSRunAlertPanel(@"Hello", @"Aloha", @"OK", nil,nil);
[pool release];
}
构建:
g++ test.mm -framework AppKit && ./a.out
最佳答案
我似乎想出了一个解决方案,从许多与切线相关的网页中提炼出来:
#import <AppKit/AppKit.h>
int main(int a, char* av) {
NSAutoreleasePool* pool = [[NSAutoreleasePool alloc] init];
NSApplication* q = [[NSApplication alloc] init];
ProcessSerialNumber psn = {0, kCurrentProcess};
TransformProcessType(&psn, kProcessTransformToForegroundApplication);
[NSApp activateIgnoringOtherApps:YES];
NSRunAlertPanel(@"Hello", @"Aloha", @"OK", nil,nil);
[pool release];
}
我并不假装理解这一点 - 这是最好的 cargo 崇拜编程。如果有更好的答案或对每个步骤的作用的解释,我们将不胜感激。
关于cocoa - NSRunAlertPanel 显示在 "active window"后面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2639479/
如果你打电话 NSRunAlertPanel() 从 Cocoa 的后台进程中,对话不会出现在前面,而是停留在其他窗口后面。这个post表明如果将进程转换为前台进程,则可以将对话置于前台。但是,如果您
在我的应用程序中,我使用 NSRunAlertPanel 来确认用户退出。 当我在仪器下运行应用程序以检测内存泄漏时,它在以下代码中显示内存泄漏。 -(void)CloseWithConfirm
是否可以使用标准苹果工具将超链接插入到 NSRunAlertPanel 消息文本中? 最佳答案 我认为这是不可能的,因为 NSAlert 面板中的消息只是一个字符串,或者换句话说只是简单的文本。如果它
我在使用 cocoa 开发的应用程序中偶然发现了一个问题。我需要做一些处理,我在一个单独的线程上做。我这样做是为了可以使用 NSProgressIndicator 显示进度而不是挂起主线程。 (用户可
如何向 NSRunAlertPanel 的按钮添加操作。以下是我创建警报面板的方法: NSRunAlertPanel(@"App Updater",
我注意到在我的程序中,当我调用 NSRunAlertPanel() 时,当它等待返回时(用户尚未单击按钮) NSTimer() 不会触发。它会定期、完美地触发,直到 NSRunAlertPanel()
如何找出 NSRunAlertPanel 控件之间的像素位置数。在Interface Builder中我们可以使用Option+鼠标来查找像素长度。请帮忙。 最佳答案 只是为了分享答案,如果确实需要测
好的,所以我知道格式字符串不是字符串文字警告,但我不知道为什么它会出现在 NSRunAlertPanel 上,定义是: APPKIT_EXTERN NSInteger NSRunAlertPanel(
为了在某些情况下显示错误,我在 Mac OS X 上使用 NSRunAlertPanel(在从 Windows 移植的代码上,我在 Windows 上使用 MessageBox)。 在实际创建 Win
我正在尝试构建一个简单的错误报告包。如果我的主程序崩溃,它会保存崩溃日志,然后启动报告程序。报告程序询问用户是否可以将崩溃日志发送给我,然后就这样做了。我正在使用 NSRunAlertPanel 创建
我正在开发一个标记为 LSUIElement 的应用程序,其主窗口是一个“附加”到状态栏的 NSPanel。有时我需要显示一个普通的警报面板(通过使用 NSRunAlertPanel 或 NSAler
我当前正在使用 NSRunAlertPanel 来显示对话框。 它在 Leopard 和 Snow Leopard 中完美运行。在 Tiger 中,除了图标之外它也有效。 在 Leopard 和 Sn
我是一名优秀的程序员,十分优秀!