一般新建文件采用右击空白并选择"新建文件文件"来进行. 我想写一个程序, 然后为它绑定一个快捷键, 就可以自动完成这些操作了. 该程序需要进行下列步骤: 
1. 获取当前激活的窗口(一般来说就是我们工作的文件夹窗口)
2. 获取该文件夹窗口的工作路径, 以该路径为根路径新建一个名为"新建空文件"的文件. 
3. 进行与该文件夹窗口相关的操作, 即选中刚刚创建的名为"新建空文件"的文件. 对于1, 使用函数GetForegroundWindow()即可. 结果是一个类型为HWND的值, 记为h. 
对于2, 需要找出上述h的幕后操作者(记为c), 然后根据c来获取当前文件夹窗口的工作路径. 创建文件的操作就简单了. 
对于3, 需要通过c来选中指定名称为"新建空文件"的子文件.下划线部分就是需要解决的部分.

解决方案 »

  1.   

    2. 可以根据HWND得到进程句柄HANDLE,然后利用GetModuleFileNameEx()得到程序路径
    3. 参考这个http://topic.csdn.net/t/20041112/14/3547444.html
      

  2.   

    http://topic.csdn.net/t/20041112/14/3547444.html 这个链接没啥用, 因为不能总是创建新窗口. SHOpenFolderAndSelectItems(), Pascal, 很有压力啊. 
      

  3.   

    直接运行
    explorer /select,C:\windows\explorer.exe
      

  4.   

    这程序很难的, 如果你发现没两下就弄出来了, 请比照一下需求. 简单点说, 我希望在windows下直接用快捷键新建一个空文本文件, 并让其被选中(最好就直接进入重命名状态). 而不用右击鼠标点新建等. 
      

  5.   

    先从注册表搜ShellNew找到新建菜单的顺序,然后用SendInput模拟按键
    Alt+F+W+upupup...
      

  6.   

    搜索“句柄 获取 IWebbrowser2”GetForegroundWindow()得到窗口句柄hwnd,再利用这个hwnd得到IWebbrowser2接口指针,然后调用get_LocationURL得到当前的路径