问题列表 - 第46882页

CGEventTap会阻止应用程序输入

我正在尝试使用CGCreateEventTap来监控全局鼠标点击,但是当我这样做时,它似乎阻止了与我自己的应用程序的交互.其他正在运行的应用程序中的鼠标点击工作正常,但我自己的应用程序(即DemoAppDelegate应用程序)没有完全响应.我可以拖动应用程序的主窗口,但红色/黄色/绿色窗口按钮显示为灰色.DemoApp的菜单也是不可点击的.

这对我来说真的很奇怪,我一直无法弄明白.使用事件点击的例子很少,所以任何建议都非常感谢.

#import "DemoAppDelegate.h"

CGEventRef myCGEventCallback(CGEventTapProxy proxy, CGEventType type, CGEventRef event, void *refcon) {
    CGPoint location = CGEventGetLocation(event);
    NSLog(@"location:  (%f, %f) - %@\n", location.x, location.y, (NSString*)refcon);
    return event;
}

@implementation DemoAppDelegate
@synthesize window;

- (void)applicationDidFinishLaunching:(NSNotification *)aNotification {
    CFMachPortRef eventTap;
    CGEventMask        eventMask;
    CFRunLoopSourceRef runLoopSource;
    eventMask = 1 << kCGEventLeftMouseDown;
    eventTap = CGEventTapCreate(kCGSessionEventTap, kCGHeadInsertEventTap,
                                1, eventMask, myCGEventCallback, @"mydata");
    runLoopSource = CFMachPortCreateRunLoopSource(kCFAllocatorDefault, eventTap, 0);
    CFRunLoopAddSource(CFRunLoopGetCurrent(), runLoopSource,
                       kCFRunLoopCommonModes);
    CGEventTapEnable(eventTap, true);
    CFRunLoopRun();
}
@end
Run Code Online (Sandbox Code Playgroud)

macos cocoa cgeventtap

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

如何让这个getElementsbyName适用于IE(和FF)?

这是在IE中出错但在FF中工作的JavaScript(错误 - "document.getelementsbyname(...).0.innerhtml为null或不是对象":

var oldVal = parseInt(document.getElementsByName("outSL")[0].innerHTML); //val from DB
Run Code Online (Sandbox Code Playgroud)

这是asp.net代码,我想获取将由数据库填充的内部html:

<asp:Label ID="LabelSL" runat="server" Text="" name="outSL" style="visibility:hidden;"></asp:Label>
Run Code Online (Sandbox Code Playgroud)

id是动态的,当它被渲染时它看起来像这样,它是我所追求的43:

<span id="ctl00_cpMainContent_LabelSL" name="outSL" style="visibility:hidden;">43</span>  
Run Code Online (Sandbox Code Playgroud)

那么......我怎样才能在IE和FF中获得相同功能的43?

谢谢!

html javascript asp.net internet-explorer dom

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

当我们在浏览器的地址栏中输入网址时,将会发生什么样的实际过程

可能重复:
当您在浏览器中键入URL时
会发生什么情况在输入google.com后按Enter键进入Web浏览器后会发生什么

最近我参加了一次采访,在那次采访中我被质疑"当我们在浏览器的地址栏中输入网址并点击输入"例如"www.gmail.com"时会发生什么样的实际过程......这个过程是什么 而且我也被质疑为什么服务器将为此目的工作.......

url

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

家谱显示

我正在创建一个家谱计划.我的问题是如何定位节点?最初我将根定位在我的屏幕的中心,如果它是一个完美的二叉树并且水平非常低,它可以正常工作.然而,情况并非最常见.这是一个示例树: -

            A
        B       C
    D   E   F   I   J
K   L               N   O
Run Code Online (Sandbox Code Playgroud)

如您所见,主要问题是关于节点的位置.如果一个节点有很多子节点并且它的相邻节点也有很多子节点,它们往往会重叠.(主要问题)我在Silverlight中使用Canvas对节点进行绝对定位.如果您不是Silverlight开发人员,则可能不会烦恼Silverlight和Canvas部分.我只需要如何定位节点的逻辑.

通过知道树的级别总数,树的高度可以很容易地计算出来,但是树的宽度让我很烦恼.如何计算树的宽度(画布的总宽度)

有人可以给我一些关于如何设置画布宽度的一般指导,以及哪些逻辑对于节点的定位是完美的.

注意: -我不是要求整个算法,这不是我的功课.我已经有了算法和数据库.我只需要节点定位部分的指南.

提前致谢 :)

algorithm family-tree

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

如何自定义MFMailComposeViewController以便我可以将"to"字段设置为不可编辑?

我正在使用MFMailComposeViewController在我的应用程序中发送反馈.它工作正常.但问题在于,用户可以编辑/删除"到"地址.我想把它作为一个不可编辑的.可能是,用户可以在"到"字段中添加一些邮件地址.

但是他/她不应该删除反馈地址(这里是"support@xxxx.com").

这是我的代码......

MFMailComposeViewController *composeWindow = [[MFMailComposeViewController alloc] init];
composeWindow.mailComposeDelegate = self;

NSString *str = @"Subject of the feedback";
[composeWindow setSubject:[str stringByAppendingString:[[UIDevice currentDevice]systemVersion]]];

NSArray *toRecipients = [NSArray arrayWithObject: @"support@xxxx.com"]; 
[composeWindow setToRecipients:toRecipients];

[self presentModalViewController:composeWindow animated:YES];
[composeWindow release];
Run Code Online (Sandbox Code Playgroud)

提前致谢

Rajkanth

email iphone feedback mfmailcomposeviewcontroller

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

使用某个pinColor删除MKMapView注释?

是否可以删除给定pinColor的给定MKMapView上的所有注释?我正在尝试清除我地图上所有用户输入的注释(引脚),然后为我的应用程序的一部分显示新的注释,但我不知道我有多精细地选择性地删除注释...

我想删除所有带有MKPinAnnotationColorGreen(绿色)引脚的注释,但我也可以简单地删除用户输入的所有引脚,如果有办法我可以跟踪它们.

我知道我可以做到:

[myMapView removeAnnotations:myMapView.annotations];
Run Code Online (Sandbox Code Playgroud)

...然后重新绘制我想要的所有注释,但这似乎是浪费资源.

有什么建议?

iphone annotations mkmapview ios

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

获得许多MAC地址

Android中的一个设备需要很多MAC地址.是否可以从一个设备获取许多MAC地址.请帮助我.

android

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

可重用的屏障算法

我正在研究“The Little Book Of Semaphores”一书中的可重用屏障算法(存档于此处)。

这个难题在第 31 页(基本同步模式/可重用屏障),我提出了一个(或不是)与书中解决方案(两相屏障)不同的“解决方案”。

这是我为每个线程编写的“代码”:

# n = 4; threads running
# semaphore = n max., initialized to 0
# mutex, unowned.

start:
    mutex.wait()
        counter = counter + 1
        if counter = n:
            semaphore.signal(4) # add 4 at once
            counter = 0
    mutex.release()
    semaphore.wait()
        # critical section
    semaphore.release()
goto start
Run Code Online (Sandbox Code Playgroud)

这似乎确实有效,我什至在线程的不同部分插入了不同的睡眠计时器,并且它们仍然等待所有线程到来,然后再继续每个循环。我错过了什么吗?是否有一个条件会失败?

我已经使用 Windows 库SemaphoreMutex函数实现了这一点。

更新:

感谢星蓝解答。事实证明,如果出于某种原因,线程之间的速度很慢mutex.release(),则在完整循环之后semaphore.wait()到达的任何线程semaphore.wait()都将能够再次执行,因为将留下一个N未使用的信号。 …

algorithm concurrency multithreading mutex barrier

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

我的代码将onfocus事件分配给元素有什么问题?

我有一个以下代码,我试图将onfocus事件分配给元素,以便每当元素聚焦时,调用alert.但是,警报仅在加载页面时出现,并且从此之后才会出现.

<html>
<head>
</head>
<body onload = "loadings();">
<div>   
    <form>  
        <input type="text" id="foo"/>
    </form>
</div>

<script type="text/javascript">
function loadings(){
    document.getElementById("foo").onfocus = alert("foo"); 
}
</script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

请注意,我无法做到<input type="text" id="foo" onfocus="alert('foo')"/>我想要实现的目标.

此外,这应该适用于Firefox,Chrome,IE,Safari.

提前致谢!

javascript onfocus

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

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