问题列表 - 第34337页

控制台应用程序中的全局热键

有谁知道如何在控制台应用程序中使用RegisterHotKey/UnregisterHotKey API调用?我假设设置/删除热键是相同的,但是如何在按下键时收到回叫?

我看到的每个例子都是针对Winforms和使用的protected override void WndProc(ref Message m){...},我无法使用.


更新:我的内容如下,但事件永远不会被击中.我认为这可能是因为当你加载ConsoleShell时它会阻止进一步的执行,但即使我放入SetupHotkey一个不同的线程也没有任何反应.有什么想法吗?

class Program
{
    static void Main(string[] args)
    {
        new Hud().Init(args);
    }
}

class Hud
{
    int keyHookId;


    public void Init(string[] args)
    {
        SetupHotkey();
        InitPowershell(args);
        Cleanup();
    }

    private void Cleanup()
    {
        HotKeyManager.UnregisterHotKey(keyHookId);
    }

    private void SetupHotkey()
    {
        keyHookId = HotKeyManager.RegisterHotKey(Keys.Oemtilde, KeyModifiers.Control);
        HotKeyManager.HotKeyPressed += new EventHandler<HotKeyEventArgs>(HotKeyManager_HotKeyPressed);
    }

    void HotKeyManager_HotKeyPressed(object sender, HotKeyEventArgs e)
    {
        //never executed
        System.IO.File.WriteAllText("c:\\keyPressed.txt", "Hotkey pressed");
    }

    private static void InitPowershell(string[] args)
    {
        var config = …
Run Code Online (Sandbox Code Playgroud)

c# pinvoke winapi console-application

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

SVN/python库

我需要从python中操作一个subversion客户端.我需要:

  • 检查最新版本以更改给定路径下的内容.
  • 将客户端更新为给定(头部或非头部)修订版
  • 获取给定路径的日志(更改它以及何时更改).

一个快速搜索不转了一下我在寻找,我宁愿没有写周围的svn的命令行工具,我自己的包装.(BTW:在Linux和python 2.6下运行)

python svn

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

Jquery鼠标滑过div slideUp和鼠标滑出div slideDown

这是我的代码http://jsfiddle.net/AB6J3/7/你可以看,编辑等.

当我翻到红色边框时,橙色框应该向上滑动,当鼠标移出时它应该向下滑动.它适用于其他方式,但当我将slideDown更改为slideUp时,它不起作用:/我错过了什么?

欣赏有帮助.

<!DOCTYPE html>
<html>
<head>
  <style>
div#monster { background:#de9a44; margin:3px; width:80px; height:40px; display:none; float:left; position:absolute; right:10px; top:0; }

#clickk {width:40px; height:40px; background:#ccc; position:absolute; top:0; right:10px;}
</style>
  <script src="http://code.jquery.com/jquery-latest.min.js"></script>
</head>
<body>

<div style="width:550px; padding:40px 0 0;margin:0 auto; border:1px solid #111; position:relative;">    
    <div id="monster"></div>
    <div id="clickk"></div><br />
    <div style="width:500px; height:300px; background-color:#ccc; margin:0 auto;"></div>
</div>

<script>
$("#clickk").hover(function () {
    if ($("#monster").is(":hidden")) {
        $("#monster").slideDown("fast");
    } else {
        $("#monster").slideUp("fast");
    }
});

</script>

</body>
</html>?
Run Code Online (Sandbox Code Playgroud)

html jquery slidedown slideup

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

426
推荐指数
10
解决办法
26万
查看次数

PHP str_replace无法正常工作

我正在使用str_replace,但它无法正常工作.我有一个文本区域,输入与表单一起发送.当服务器收到数据时,我想将新行更改为",".

$teams = $_GET["teams"];
$teams = str_replace("\n",",",$teams);
echo $teams;
Run Code Online (Sandbox Code Playgroud)

奇怪的是,我收到了以下结果

切尔西

,真实

,巴塞罗那

而不是Chealsea,真实,巴塞罗那.

怎么了?

php string str-replace

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

如何通过减去2个nanoTime对象获得有意义的结果?

我创建了一个监视请求长度的过滤器.

long start = System.nanoTime();

...

long end = System.nanoTime();
Run Code Online (Sandbox Code Playgroud)

我怎么能从这里得到毫秒数?

java performance nanotime

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

删除非英文字符PHP

我如何解析一个字符串来删除PHP中的所有非英语字符

现在我想删除像

სოფოსოფოი

谢谢 :)

php character

21
推荐指数
3
解决办法
2万
查看次数

理解简单C程序生成的汇编代码

我试图通过使用gdb的反汇编程序检查它来了解简单C程序的汇编级代码.

以下是C代码:

#include <stdio.h>

void function(int a, int b, int c) {
   char buffer1[5];
   char buffer2[10];
}

void main() {
  function(1,2,3);
}
Run Code Online (Sandbox Code Playgroud)

以下是两个反汇编代码mainfunction

gdb) disass main
Dump of assembler code for function main:
0x08048428 <main+0>:    push   %ebp
0x08048429 <main+1>:    mov    %esp,%ebp
0x0804842b <main+3>:    and    $0xfffffff0,%esp
0x0804842e <main+6>:    sub    $0x10,%esp
0x08048431 <main+9>:    movl   $0x3,0x8(%esp)
0x08048439 <main+17>:   movl   $0x2,0x4(%esp)
0x08048441 <main+25>:   movl   $0x1,(%esp)
0x08048448 <main+32>:   call   0x8048404 <function>
0x0804844d <main+37>:   leave  
0x0804844e <main+38>:   ret
End of assembler dump.

(gdb) …
Run Code Online (Sandbox Code Playgroud)

c linux assembly stack disassembly

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

零内存的速度比使用memset更快?

我知道这memset(ptr, 0, nbytes)很快,但有更快的方法(至少在x86上)?

我假设memset使用mov,但是当大多数编译器将内存归零时,xor因为它更快,更正确吗?edit1:错了,因为GregS指出只适用于寄存器.我在想什么?

另外我问一个比我更熟悉汇编程序的人看看stdlib,他告诉我x86 memset没有充分利用32位宽的寄存器.然而当时我很累,所以我不太确定我是否理解正确.

edit2:我重新审视了这个问题并进行了一些测试.这是我测试的:

    #include <stdio.h>
    #include <malloc.h>
    #include <string.h>
    #include <sys/time.h>

    #define TIME(body) do {                                                     \
        struct timeval t1, t2; double elapsed;                                  \
        gettimeofday(&t1, NULL);                                                \
        body                                                                    \
        gettimeofday(&t2, NULL);                                                \
        elapsed = (t2.tv_sec - t1.tv_sec) * 1000.0 + (t2.tv_usec - t1.tv_usec) / 1000.0; \
        printf("%s\n --- %f ---\n", #body, elapsed); } while(0)                 \


    #define SIZE 0x1000000

    void zero_1(void* buff, size_t size)
    {
        size_t i;
        char* foo …
Run Code Online (Sandbox Code Playgroud)

c std

58
推荐指数
6
解决办法
10万
查看次数

学习C++后我应该去哪里?

我上高中并上课,基本上我们设计自己的课程并选择我们学到的东西.我选择了解C++和游戏编程.

我想尽可能多地学习使用C++与OpenGL或DirectX或其他API.

在我完成学习C++之后,我应该去哪里?你能推荐一本关于游戏编程的书吗?

c++

14
推荐指数
5
解决办法
7373
查看次数