文档库 最新最全的文档下载
当前位置:文档库 › C#操作窗口类(句柄操作)

C#操作窗口类(句柄操作)

C#操作窗口类(句柄操作)
C#操作窗口类(句柄操作)

C#写个类操作窗口(句柄操作)实现过程:

过程一:找到当前鼠标位置的句柄

您的使用2个WinAPI(俺喜欢自己封装下来用):

View Code

[DllImport("user32.dll", EntryPoint = "GetCursorPos")] public static extern bool GetCursorPos(out Point pt);

[DllImport("user32.dll", EntryPoint = "WindowFromPoint")] public static extern IntPtr WindowFromPoint(Point pt);

//鼠标位置的坐标

public static Point GetCursorPosPoint()

{

Point p = new Point();

if (GetCursorPos(out p))

{

return p;

}

return default(Point);

}

///

///找到句柄

///

///坐标

///

public static IntPtr GetHandle(Point p)

{

return WindowFromPoint(p);

}

过程二:改变窗口的Text

您的使用1个WinAPI:

View Code

[DllImport("user32.dll", EntryPoint = "SendMessage")]

private static extern int SendMessage(IntPtr hWnd, int Msg, IntPtr wParam, string lParam);

///

///给窗口发送内容

///

///句柄

///要发送的内容

public static void SetText(IntPtr hWnd, string lParam)

{

SendMessage(hWnd, WM_SETTEXT, IntPtr.Zero, lParam);

}

private const int WM_SETTEXT = 0x000C;

通过这个方法就能改变Text的值了。

思考:如果俺把这个窗口的句柄记录下来,下次不用鼠标获取,直接就能改变值不蛮好的嘛。

例如:我有个桌面系统老叫我输入用户名,密码。我记录用户名和密码的窗口句柄,然后改变他们的输入值,这样多省事。(只是举例,不考虑安全性)

问题:你会告诉我,窗口句柄的每次重建会变的呀,咋办。

回答:类名不变呀。

过程三:您的准备一些工具吧,例如:句柄找类名呀,类名找句柄什么的等等,下面会用到一些WinAPI View Code

[DllImport("user32.dll", EntryPoint = "FindWindow")]

private static extern IntPtr FindWindow(string IpClassName, string IpWindowName);

[DllImport("user32.dll", EntryPoint = "FindWindowEx")]

private static extern IntPtr FindWindowEx(IntPtr hwndParent, IntPtr hwndChildAfter, string

lpszClass, string lpszWindow);

[DllImport("user32.dll", EntryPoint = "GetParent")]

public static extern IntPtr GetParent(IntPtr hWnd);

[DllImport("user32.dll", CharSet = CharSet.Auto)]

public static extern int GetClassName(IntPtr hWnd, StringBuilder lpClassName, int nMaxCoun t);

///

///找到句柄

///

///类名

///

public static IntPtr GetHandle(string IpClassName)

{

return FindWindow(IpClassName, null);

}

///

///子窗口句柄

///

///父窗口句柄

///前一个同目录级同名窗口句柄

///类名

///

public static IntPtr GetChildHandle(IntPtr hwndParent, IntPtr hwndChildAfter, string lpszCl ass)

{

return FindWindowEx(hwndParent, hwndChildAfter, lpszClass, null);

}

///

///全部子窗口句柄

///

///父窗口句柄

///类名

///

public static List GetChildHandles(IntPtr hwndParent, string className)

{

List resultList = new List();

for (IntPtr hwndClient = GetChildHandle(hwndParent, IntPtr.Zero, className); hwndClient ! = IntPtr.Zero; hwndClient = GetChildHandle(hwndParent, hwndClient, className))

{

resultList.Add(hwndClient);

}

return resultList;

}

///

///找类名

///

///句柄

///

public static string GetClassName(IntPtr hWnd)

{

StringBuilder lpClassName = new StringBuilder(128);

if (GetClassName(hWnd, lpClassName, lpClassName.Capacity) == 0)

{

throw new Exception("not found IntPtr!");

}

return lpClassName.ToString();

}

思考:遍历桌面上所有的窗口,然后找类名,然后改他的Text,扯淡嘛,相同的类名太多了,找毛呀。

实现:不仅记录类名,而且记录类名在父窗口出现的位置,然后通过桌面一层层找下来,最后找到这个句柄。(虽然不是太准,但是一般的还是能解决了,如果你有什么好方式一起研究)。

过程四:实现一个WinHWND的类,可以把他的规则,他的父窗口类名,以及在父窗口中同类名出现的顺序记录下来,然后通过这些记录的信息还原句柄。

View Code

public class WinHWND

{

public IntPtr HWND { get; set; }

public string ClassName { get; set; }

public WinHWND Parent { get; set; }

public int InParentSequence { get; set; }

private WinHWND() { }

public WinHWND(IntPtr hWnd)

{

this.HWND = hWnd;

this.ClassName = GetClassName();

this.Parent = GetParent();

this.InParentSequence = GetInParentSequence();

}

private string GetClassName()

{

return WinAPI.GetClassName(this.HWND);

}

private WinHWND GetParent()

{

if (WinAPI.GetParent(this.HWND) == null)

{

throw new Exception("not found IntPtr!");

}

if (WinAPI.GetParent(this.HWND) == IntPtr.Zero)

{

return null;

}

return new WinHWND(WinAPI.GetParent(this.HWND));

}

private int GetInParentSequence()

{

IntPtr IntprtParent = this.Parent == null ? IntPtr.Zero : this.Parent.HWND;

return WinAPI.GetChildHandles(IntprtParent, this.ClassName).IndexOf(this.HWND); }

public override string ToString()

{

StringBuilder result = new StringBuilder();

for (WinHWND winHandle = this; winHandle != null; winHandle = winHandle.Parent) {

result.Append(string.Format("{0}:{1};", Escape(winHandle.ClassName), winHandle.InPa rentSequence.ToString()));

if (winHandle.InParentSequence == -1) break;

}

return result.ToString().TrimEnd(';');

}

private static string GetBaseMark(string sMark)

{

string[] sMarks = sMark.Split(';');

return sMarks[sMarks.Length - 1].Split(':')[0];

}

private static string[] GetChildMarks(string sMark)

{

string[] sMarks = sMark.Split(';');

string[] sChildMarks = new string[sMarks.Length - 1];

for (int i = 0; i < sChildMarks.Length; i ++ )

{

sChildMarks[i] = sMarks[i ];

}

return sChildMarks;

}

//我一直觉得这段写很丑陋,谁能帮帮我改改

public static WinHWND GetWinHWND(string sMark)

{

List baseHwnds = WinAPI.GetChildHandles(IntPtr.Zero, GetBaseMark(sMark));

string[] sChildMarks = GetChildMarks(sMark);

//由于主窗口在桌面出现所以很可能同名,所以要看看他的儿子和孙子...是不是都匹配

foreach (IntPtr baseHwnd in baseHwnds)

{

IntPtr handle = baseHwnd;

for (int i = sChildMarks.Length - 1; i >= 0; i--)

{

string[] sChildMark = sChildMarks[i].Split(':');

try

{

handle = WinAPI.GetChildHandles(handle, UnEscape(sChildMark[0]))[int.Parse(sC hildMark[1])];

}

catch

{

break;

}

if (i == 0) return new WinHWND(handle);

}

continue;

}

return null;

}

#region转义

private static string Escape(string arg)

{

return arg.Replace(":", "\\:").Replace(";","\\;");

}

private static string UnEscape(string arg)

{

return arg.Replace("\\:", ":").Replace("\\;", ";");

}

#endregion

public static WinHWND GetWinHWND()

{

return new WinHWND(WinAPI.GetHandle(WinAPI.GetCursorPosPoint())); }

}

上全部代码,里面加了窗口的部分属性,扩展其他的属性,自己发挥吧,就是搞WinAPI

View Code

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Runtime.InteropServices;

using System.Drawing;

using System.Collections;

namespace InformationCollectionDataFill

{

public class WinAPI

{

#region WinodwsAPI

[DllImport("user32.dll", EntryPoint = "FindWindow")]

private static extern IntPtr FindWindow(string IpClassName, string IpWindowName);

[DllImport("user32.dll", EntryPoint = "FindWindowEx")]

private static extern IntPtr FindWindowEx(IntPtr hwndParent, IntPtr hwndChildAfter, string lpszClass, string lpszWindow);

[DllImport("user32.dll", EntryPoint = "SendMessage")]

private static extern int SendMessage(IntPtr hWnd, int Msg, IntPtr wParam, string lParam);

[DllImport("user32.dll", EntryPoint = "GetParent")]

public static extern IntPtr GetParent(IntPtr hWnd);

[DllImport("user32.dll", EntryPoint = "GetCursorPos")]

public static extern bool GetCursorPos(out Point pt);

[DllImport("user32.dll", EntryPoint = "WindowFromPoint", CharSet = CharSet.Auto, ExactSpell ing = true)]

public static extern IntPtr WindowFromPoint(Point pt);

[DllImport("user32.dll", CharSet = CharSet.Auto)]

public static extern int GetClassName(IntPtr hWnd, StringBuilder lpClassName, int nMaxCoun t);

[DllImport("user32.dll", CharSet = CharSet.Auto)]

public static extern int GetWindowText(IntPtr hWnd, [Out, MarshalAs(UnmanagedType.LPTStr)] StringBuilder lpString, int nMaxCount);

[DllImport("user32.dll", CharSet = CharSet.Auto)]

public static extern int GetWindowRect(IntPtr hwnd, ref Rectangle rc);

[DllImport("user32.dll", CharSet = CharSet.Auto)]

public static extern int GetClientRect(IntPtr hwnd, ref Rectangle rc);

[DllImport("user32.dll", CharSet = CharSet.Auto)]

public static extern int MoveWindow(IntPtr hwnd, int x, int y, int nWidth, int nHeight, bool bRepaint);

[DllImport("user32.dll", CharSet = CharSet.Auto, SetLastError = true, ExactSpelling = true)] public static extern int ScreenToClient(IntPtr hWnd, ref Rectangle rect);

#endregion

#region封装API方法

///

///找到句柄

///

///类名

///

public static IntPtr GetHandle(string IpClassName)

{

return FindWindow(IpClassName, null);

}

///

///找到句柄

///

///坐标

///

public static IntPtr GetHandle(Point p)

{

return WindowFromPoint(p);

}

//鼠标位置的坐标

public static Point GetCursorPosPoint()

{

Point p = new Point();

if (GetCursorPos(out p))

{

return p;

}

return default(Point);

}

///

///子窗口句柄

///

///父窗口句柄

///前一个同目录级同名窗口句柄 ///类名

///

public static IntPtr GetChildHandle(IntPtr hwndParent, IntPtr hwndChildAfter, string lpszCl ass)

{

return FindWindowEx(hwndParent, hwndChildAfter, lpszClass, null);

}

///

///全部子窗口句柄

///

///父窗口句柄

///类名

///

public static List GetChildHandles(IntPtr hwndParent, string className)

{

List resultList = new List();

for (IntPtr hwndClient = GetChildHandle(hwndParent, IntPtr.Zero, className); hwndClient ! = IntPtr.Zero; hwndClient = GetChildHandle(hwndParent, hwndClient, className))

{

resultList.Add(hwndClient);

}

return resultList;

}

///

///给窗口发送内容

///

///句柄

///要发送的内容

public static void SetText(IntPtr hWnd, string lParam) {

SendMessage(hWnd, WM_SETTEXT, IntPtr.Zero, lParam); }

private const int WM_SETTEXT = 0x000C;

///

///获得窗口内容或标题

///

///句柄

///

public static string GetText(IntPtr hWnd)

{

StringBuilder result = new StringBuilder(128);

GetWindowText(hWnd, result, result.Capacity);

return result.ToString();

}

///

///找类名

///

///句柄

///

public static string GetClassName(IntPtr hWnd)

{

StringBuilder lpClassName = new StringBuilder(128);

if (GetClassName(hWnd, lpClassName, lpClassName.Capacity) == 0) {

throw new Exception("not found IntPtr!");

}

return lpClassName.ToString();

}

///

///窗口在屏幕位置

///

///句柄

///

public static Rectangle GetWindowRect(IntPtr hWnd)

{

Rectangle result = default(Rectangle);

GetWindowRect(hWnd, ref result);

return result;

}

///

///窗口相对屏幕位置转换成父窗口位置

///

///

///

///

public static Rectangle ScreenToClient(IntPtr hWnd, Rectangle rect) {

Rectangle result = rect;

ScreenToClient(hWnd, ref result);

return result;

}

///

///窗口大小

///

///

///

public static Rectangle GetClientRect(IntPtr hWnd) {

Rectangle result = default(Rectangle);

GetClientRect(hWnd, ref result);

return result;

}

#endregion

}

public class WinHWND

{

public IntPtr HWND { get; set; }

public string ClassName { get; set; }

public WinHWND Parent { get; set; }

public int InParentSequence { get; set; }

private Rectangle _currentRect;

private string _Text;

private int _Left;

private int _Top;

private int _Width;

private int _Height;

public string Text

电脑快捷键使用大全

快捷键,又叫快速键或热键,指通过某些特定的按键、按键顺序或按键组合来完成一个操作,很多快捷键往往与如Ctrl 键、Shift 键、Alt 键、Fn 键以及Windows 平台下的Windows 键和Mac 机上的Meta 键等配合使用。利用快捷键可以代替鼠标做一些工作,可以利用键盘快捷键打开、关闭和导航“开始”菜单、桌面、菜单、对话框以及网页。 Alt+ESC 切换到上一个操作的窗口 Alt+F4 关闭当前窗口 Print Screen 截取当前全屏幕到剪切板 Alt+Print Screen 截取当前窗口屏幕截图到剪切板 Alt+Shift 在输入法之间切换 Alt+Tab 切换当前打开的窗口 Alt+Shift+Tab 反向切换当前打开的窗口 Alt+up 打开当前文件夹上一层文件夹 Backspace 返回上一页 Ctrl+A 全选 Ctrl+Alt+Tab 不关闭菜单,循环切换打开的窗口 Ctrl+B IE7 中整理收藏夹 Ctrl+C 复制

Ctrl+D IE7 中将当前页加入收藏夹 Ctrl+E 激活搜索栏,资源管理器和IE7中有效 Ctrl+Esc 打开开始菜单 Ctrl+F IE7 中打开搜索当前页面菜单 Ctrl+H IE7 中打开历史记录 Ctrl+I IE7 中打开收藏夹 Ctrl+J IE7 中打开RSS Feed Ctrl+N IE7 中打开与当前窗口相同的另一个新窗口 Ctrl+P IE7 中打印 Ctrl+Q IE7 中打开快速导航选项卡 Ctrl+R IE7 中刷新当前选项卡 Ctrl+Shift+Esc 打开任务管理器 Ctrl+Space 切换中英输入法 Ctrl+T IE7 中打开新选项卡 Ctrl+V

C#中使用FindWindow函数详解 从标题获取句柄

C#中使用FindWindow函数详解从标题获取句柄 FindWindow用来根据类名和窗口名来得到窗口句柄的。但是这个函数 不能查找子窗口,也不区分大小写。 如果要从一个窗口的子窗口中查找需要使用FindWindowEX。 1.在C#中使用方法如下: [DllImport("User32.dll", EntryPoint = "FindWindow")] private static extern IntPtrFindWindow(string lpClassName,stringlpWindowName); [DllImport("User32.dll", EntryPoint = "FindWindowEx")] private static extern IntPtrFindWindowEx(IntPtrhwndParent, IntPtrhwndChildAfter, string lpClassName, string lpWindowName); [DllImport("User32.dll", EntryPoint = "FindWindow")] private static extern IntPtrFindWindow(string lpClassName,stringlpWindowName); [DllImport("User32.dll", EntryPoint = "FindWindowEx")] private static extern IntPtrFindWindowEx(IntPtrhwndParent, IntPtrhwndChildAfter, string lpClassName, string lpWindowName); 2. 实例参考: IntPtrhWnd = FindWindow(null, "test Demo"); 这样会查找所有title是"test Demo"的窗口。 参考下面的资料解释 3. FindWindow参数详解: Parameters

基本操作,剪切复制粘贴关闭窗口等等,快捷键(热键)

基本操作,剪切复制粘贴关闭窗口等等,快捷键(热键) 一、常见用法: F1 显示当前程序或者windows的帮助内容。 F2 当你选中一个文件的话,这意味着“重命名” F3 当你在桌面上的时候是打开“查找:所有文件” 对话框 F10或ALT 激活当前程序的菜单栏 windows键或CTRL+ESC 打开开始菜单 CTRL+ALT+DELETE 在win9x中打开关闭程序对话框 DELETE 删除被选择的选择项目,如果是文件,将被放入回收站 SHIFT+DELETE 删除被选择的选择项目,如果是文件,将被直接删除而不是放入回收站 CTRL+N 新建一个新的文件 CTRL+O 打开“打开文件”对话框 CTRL+P 打开“打印”对话框 CTRL+S 保存当前操作的文件 CTRL+X 剪切被选择的项目到剪贴板 CTRL+INSERT 或CTRL+C 复制被选择的项目到剪贴板 SHIFT+INSERT 或CTRL+V 粘贴剪贴板中的内容到当前位置 ALT+BACKSPACE 或CTRL+Z 撤销上一步的操作 ALT+SHIFT+BACKSPACE 重做上一步怀废 牟僮?br> Windows键+M 最小化所有被打开的窗口。 Windows键+CTRL+M 重新将恢复上一项操作前窗口的大小和位置 Windows键+E 打开资源管理器 Windows键+F 打开“查找:所有文件”对话框 Windows键+R 打开“运行”对话框 Windows键+BREAK 打开“系统属性”对话框 Windows键+CTRL+F 打开“查找:计算机”对话框 SHIFT+F10或鼠标右击打开当前活动项目的快捷菜单 SHIFT 在放入CD的时候按下不放,可以跳过自动播放CD。在打开word的时候按下不放,可以跳过自启动的宏 ALT+F4 关闭当前应用程序 ALT+SPACEBAR 打开程序最左上角的菜单 ALT+TAB 切换当前程序 ALT+ESC 切换当前程序 ALT+ENTER 将windows下运行的MSDOS窗口在窗口和全屏幕状态间切换PRINT SCREEN 将当前屏幕以图象方式拷贝到剪贴板 ALT+PRINT SCREEN 将当前活动程序窗口以图象方式拷贝到剪贴板

CAD常用快捷键

Ctrl+S 保存 Ctrl+W 关闭程序 Ctrl+N 新建 Ctrl+O 打开 Ctrl+Z 撤销 Ctrl+F 查找 Ctrl+X 剪切 Ctrl+C 复制 Ctrl+V 粘贴 Ctrl+A 全选 Ctrl+[ 缩小文字 Ctrl+] 放大文字 Ctrl+B 粗体 Ctrl+I 斜体 Ctrl+U 下划线 Ctrl+Shift 输入法切换 Ctrl+空格中英文切换 Ctrl+回车QQ号中发送信息 Ctrl+Home 光标快速移到文件头 Ctrl+End 光标快速移到文件尾 Ctrl+Esc 显示开始菜单 Ctrl+Shift+< 快速缩小文字 Ctrl+Shift+> 快速放大文字 Ctrl+F5 在IE中强行刷新 Ctrl+拖动文件复制文件 Ctrl+Backspace 启动\关闭输入法 拖动文件时按住Ctrl+Shift 创建快捷方式Alt+空格+C 关闭窗口 Alt+空格+N 最小化当前窗口 Alt+空格+R 恢复最小化窗口 Alt+空格+X 最大化当前窗口 Alt+空格+M 移动窗口 Alt+空格+S 改变窗口大小 Alt+Tab 两个程序交换 Alt+255 QQ号中输入无名人 Alt+F 打开文件菜单Alt+V 打开视图菜单 Alt+E 打开编辑菜单 Alt+I 打开插入菜单 Alt+O 打开格式菜单 Alt+T 打开工具菜单 Alt+A 打开表格菜单 Alt+W 打开窗口菜单 Alt+H 打开帮助菜单 Alt+回车查看文件属性 Alt+双击文件查看文件属性 Alt+X 关闭C语言 Shift快捷键 Shift+空格半\全角切换 Shift + Delete 永久删除所选项,而不将它放到“回收站”中。拖动某一项时按CTRL 复制所选项。 拖动某一项时按CTRL + SHIFT 创建所选项目的快捷键。WORD全套快捷键小技巧 CTRL+O 打开 CTRL+P 打印 CTRL+A 全选 CTRL+[/] 对文字进行大小设置(在选中目标情况下) CTRL+D 字体设置(在选中目标情况下) CTRL+G/H 查找/替换; CTRL+N 全文删除; CTRL+M 左边距(在选中目标情况下); CTRL+U 绘制下划线(在选中目标情况下); CTRL+B 加粗文字(在选中目标情况下); CTRL+I 倾斜文字(在选中目标情况下); CTRL+Q 两边对齐(无首行缩进),(在选中目标情况下)或将光标放置目标文字的段尾,亦可操作 CTRL+J 两端对齐(操作同上) CTRL+E 居中(操作同上) CTRL+R 右对齐(操作同上) CTRL+K 插入超链接 CTRL+T/Y 可进行首行缩进(将光标移到需做此操作的段尾,或将此段选中进行操作 Ctrl+A(或Ctrl+小键盘上数字5):选中全文。

如何使用键盘退出或关闭窗口

如何使用键盘退出或关闭窗口,(ESC键除外,是游戏,电影之类的)最好回答者能多教些同样的技巧? 如何使用键盘退出或关闭窗口,(ESC键除外,是游戏,电影之类的)最好回答者能多教些同样的技巧? 蓝兰丽 2009-05-14 14:38:31 发布 2个回答 ?回答 ?liangjingfang | 2009-05-14 14:58:50 ?有0人认为这个回答不错 | 有0人认为这个回答没有帮助 ?一、在WINDOWS中最常用到的几组快捷键及一些特殊键位 (一)以下是一些Windows常用快捷键(适用于WINDOWS系列的系统及相对应命令的程序) CTRL+C――――复制 CTRL+X――――剪切 CTRL+V――――粘贴 CTRL+S――――保存 CTRL+Z――――撤消 DELETE―――删除或SHIFT+DELETE―永久删除所选项 CTRL+A――――选中全部内容。 ALT+TAB―――切换当前程序 ALT+F4 ―――关闭当前应用程序 (二)特殊键位说明及功能 Windows键位于CTRL和ALT之间带有窗口图样的键调用开始菜单或和其它键组合使用 BACKSPACE键退格键消除空格或向左删除文档 SPACEBAR 空格键输入空格或在某复选框中选取 Application 键微软自然键选中某个项目时显示其快键菜单 Shift 上档键与其它键一起使用 Ctrl 控制键与其它键一起使用 Alt 组合键激活系统程序菜单或配合其它键一起使用 Tab 制表键在程序或菜单之间切换 Pause/break 暂停键电脑开机自检时按下可暂停当前屏幕,按下继续 Scroll lock 锁屏键当处于滚屏状态时按下该键停止 Print Screen/SysRq 截屏键截取当前屏幕到粘贴板 NumLock 数字开关键小键盘数字开关键 Caps Lock 大小写开关键 二、几种常用程序中的快捷键应用

VCMFC编程各种窗口句柄获取函数详解

AfxGetMainWnd AfxGetMainWnd获取自身窗口句柄 HWND hWnd = AfxGetMainWnd()->m_hWnd; GetTopWindow 函数功能:该函数检查与特定父窗口相联的子窗口z序(Z序:垂直屏幕的方向,即叠放次序),并返回在z序顶部的子窗口的句柄。 函数原型:HWND GetTopWindow(HWND hWnd); 参数: hWnd:被查序的父窗口的句柄。如果该参数为NULL,函数返回Z序顶部的窗口句柄。返回值: 如果函数成功,返回值为在Z序顶部的子窗口句柄。如果指定的窗口无子窗口,返回值为NULL。 GetForegroundWindow 函数功能:该函数返回当前系统的前台窗口的窗口句柄。 函数原型:HWND GetForegroundWindow(VOID) 返回值:函数返回前台窗回的句柄。 GetActiveWindow 函数功能:该函数可以获得与调用该方法的线程的消息队列相关的活动窗口的窗口句柄(就是取得当前进程的活动窗口的窗口句柄)。 函数原型:HWND GetActiveWindow(VOID) 返回值:返回值是与调用线程的消息队列相关的活动窗口的句柄。否则,返回值为NULL。 GetSafeHwnd 函数功能:获取某个窗口对象(CWnd的派生对象)指针的句柄(HWND)时,最安全的方法是使用GetSafeHwnd()函数。 通过下面的例子来看其理由: CWnd *pwnd = FindWindow(“ExploreWClass”,NULL); //希望找到资源管理器 HWND hwnd = pwnd->m_hwnd; //得到它的HWND 这样的代码当开始得到的pwnd为空的时候就会出现一个“General protection error”,并关闭应用程序,因为一般不能对一个NULL指针访问其成员,如果用下面的代码:CWnd *pwnd = FindWindow(“ExploreWClass”,NULL); //希望找到资源管理器 HWND hwnd = pwnd->GetSafeHwnd(); //得到它的HWND 就不会出现问题,因为尽管当pwnd是NULL时,GetSafeHwnd仍然可以用,只是返回NULL IsWindowVisible 函数功能:该函数获得给定窗口的可视状态。 函数原型:BOOL IsWindowVisible(HWND hWnd); 参数; hWnd:被测试窗口的句柄。 返回值:

常用快捷键:窗口和对话框

常用快捷键:窗口和对话框 窗口和对话框 ①在文档和程序窗口中移动 Alt+Tab 切换至下一个程序或Microsoft Word文档窗口 Alt+Shift+Tab 切换至上一个程序或Microsoft Word文档窗口 Ctrl+Esc 显示Microsoft Windows"开始"菜单 Ctrl+W 关闭活动文档窗口 Ctrl+F5 将已最大化的活动文档窗口还原 Ctrl+F6 切换至下一个Word文档窗口 Ctrl+Shift+F6 切换至上一个Word文档窗口 Ctrl+F7 按箭头键在文档窗口不处于最大化状态时,并按下Enter执行"移动"命令(单击标题栏中的文档图标可显示此命令) Ctrl+F8 按箭头键在文档窗口不处于最大化状态时,并按下Enter执行"大小"命令(单击标题栏中的文档图标可显示此命令) Ctrl+F10 最大化文档窗口

②在对话框中移动 Ctrl+Tab 切换至对话框中的下一张选项卡 Ctrl+Shift+Tab 切换至对话框中的上一张选项卡 Tab 移至下一选项或选项组 Shift+Tab 移至上一选项或选项组,箭头在所选列表中的选项间移动,或者在一组选项的选项间移动Spacebar执行所选按钮的指定操作;选中或清除复选框,字母在所选列表中,移动到以键入字母开始的下一选项 Alt+字母选择选项,或者选中或清除包含该字母(带有下划线)的选项名称旁的复选框 Alt+↓(选中列表时)打开所选列表 Esc(选中列表时)关闭所选列表 Enter 执行对话框中默认按钮的指定操作 Esc 取消命令并关闭对话框 ③“打开”和“另存为”对话框 Ctrl+F12 显示"打开"对话框 F12 显示"另存为"对话框

获取当前鼠标所在的窗口句柄

用到的API函数: GetCursorPos 基本信息 函数功能:该函数检取光标的位置,以屏幕坐标表示。 函数原型:BOOL GetCursorPos(LPPOINT lpPoint); 参数: IpPoint:POINT结构指针,该结构接收光标的屏幕坐标。 使用时要先定义一个数据结构: Public Type POINTAPI x As Long y As Long End Type 例如: dim biao as POINTAPI GetCursorPos biao 那么biao.x用来存放当前光标的x轴坐标,biao.y用来存放当前y轴的坐标。 返回值:如果成功,返回值非零;如果失败,返回值为零。若想获得更多错误信息,请调用GetLastError函数。 备注: 1.光标的位置通常以屏幕坐标的形式给出,它并不受包含该光标的窗口的映射模式的影响。该调用过程必须具有对窗口站的WINSTA_READATTRIBUTES访问权限。 2.此函数为api函数,调用时要函数声明:Public Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long 速查:Windows NT:3.1及以上版本:Windows:95及以上版本;Windows CE:不支持;头文件:winuser.h;库文件:user32.lib。 WindowFromPoint 函数功能:该函数获得包含指定点的窗口的句柄。 函数原型:HWND WindowFromPoint(POINT Point); 参数:

Point:指定一个被检测的点的POINT结构。 返回值S:返回值为包含该点的窗口的句柄。如果包含指定点的窗口不存在,返回值为NULL。如果该点在静态文本控件之上,返回值是在该静态文本控件的下面的窗口的句柄。 备注:WindowFromPoint函数不获取隐藏或禁止的窗口句柄,即使点在该窗口内。应用程序应该使用ChildWindowFromPoint函数进行无限制查询,这样就可以获得静态文本控件的句柄。 速查:Windows NT:3.1以上版本:Windows:95以上版本;Windows CE:1.0以上版本:头文件:Winuser.h;库文件:user32.lib。 获取当前鼠标所在的窗口句柄代码: POINT pNow = {0,0}; If (GetCursorPos(&pNow)) { HWND hwndPointNow = NULL; hwndPointNow = WindowFromPoint(pNow); if (hwndPointNow) cout <<“Success!!”<< endl; else cout <<“Error!!”<< endl; } else cout <<“Error!!”<< endl;

常用电脑操作快捷键大全

常用电脑操作快捷键大全 计算机常用操作快捷键大全 按窗口:显示或隐藏开始菜单窗口+中断:显示系统属性对话框窗口+显示桌面 Windows+M:最小化所有窗口 窗口+Shift+M:还原最小化窗口+E:打开资源管理器窗口+F:查找文件或文件夹窗口+CTRL+F:查找计算机 窗口+F1:显示窗口帮助窗口+R:打开运行对话框窗口+U:打开实用程序管理器 视窗+1:切换用户(新视窗XP功能) Ctrl快捷键 Ctrl+S保存Ctrl+W关闭程序Ctrl+N新建Ctrl+O打开Ctrl+Z撤消Ctrl+F查找Ctrl+X剪切Ctrl+C复制Ctrl+V粘贴Ctrl+A选择所有Ctrl+[减少文本Ctrl+]放大文本Ctrl+B粗体Ctrl+I斜体Ctrl+U下划线Ctrl+Shift输入法在中文和英文之间切换Ctrl+空格 Ctrl+输入QQ号码发送信息Ctrl+主光标快速移动到标题Ctrl+结束光标快速移动到文件末尾 一、常用用法:分类:默认列一、常用用法: F1显示当前程序或窗口的帮助内容。F2当您选择一个文件时,这意味着“重命名”F3打开“查找:所有文件”对话框F10或ALT激活当前程序的菜单栏窗口键或CTRL+ESC打开开始菜单当您在桌面上时。CTRL+ALT+DELETE在win9x中打开关闭程序对话框

删除删除选定的选择。如果它是一个文件,它将被放入回收站。 1 SHIFT+DELETE删除选定的选择。如果是文件,它将被直接删除,而不是放入回收站。 创建一个新文件 打开“打开文件”对话框打开“打印”对话框为当前操作保存文件CTRL+X将选定项目剪切到剪贴板CTRL+INSERT或CTRL+C将选定项目复制到剪贴板SHIFT+INSERT或CTRL+V将剪贴板内容粘贴到当前位置ALT+退格或CTRL+Z撤消上一操作 ALT+SHIFT+退格重复上一步?窗口键+最小化所有打开的窗口。Windows键+CTRL+M将恢复上一次操作前窗口的大小和位置。打开资源管理器 窗口键+F打开“查找:所有文件”对话框窗口键+R打开“运行”对话框窗口键+BREAK打开“系统属性”对话框窗口键+CTRL+F打开“查找:计算机”对话框SHIFT+F10或右键单击打开当前活动项的快捷菜单 在放入光盘时,SHIFT可以通过按下光盘来自动跳过播放。打开word 时按住以跳过自启动宏 ALT+F4关闭当前应用程序 ALT+空格键打开程序左上角的菜单ALT+TAB切换当前程序ALT+ESC切换当前程序 ALT+ENTER在窗口和全屏状态之间切换运行在窗口下的MSDOS窗口打印屏幕以图形方式将当前屏幕复制到剪贴板

用进程名获取进程ID取窗口句柄

以前用输入法注入的时候需要用到的代码,写的还不错,分享一下吧,顺便当个备用 view source print? 01 //根据进程名获取进程ID 02 DWORD GetPidByProcessName(TCHAR * pProcess) 03 { 04 HANDLE hSnapshot; 05 PROCESSENTRY32 lppe; 06 //创建系统快照 07 hSnapshot = ::CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, NULL); //#include 08 if (hSnapshot == NULL) 09 return 0; 10 //初始化 lppe 的大小 11 lppe.dwSize = sizeof (lppe); 12 //查找第一个进程 13 if (!::Process32First(hSnapshot, &lppe)) 14 return false ; 15 do

16 { 17 if(StrCmp(lppe.szExeFile, pProcess) == 0)//#include 18 { 19 return lppe.th32ProcessID; 20 } 21 } 22 while (::Process32Next(hSnapshot, &lppe)); //查找下一个进程 23 24 return 1; 25 } 26 27 //根据进程ID获取窗口句 柄 28 HWND GetHwndByPid(DWORD dwProcessID) 29 { 30 //返回Z序顶部的窗口句 柄 31 HWND hWnd = ::GetTopWindow(0); 32 while ( hWnd ) 33 { 34 DWORD pid = 0;

计算机快捷键大全组合和最常用的快捷键

最常用的快捷键 Esc:退出。 F5:刷新当前窗口。 Alt+F4:关闭当前程序; Alt+空格+C:关闭窗口; Alt+空格+N:最小化当前窗口; Alt+空格+R:恢复最小化窗口; Alt+空格+X:最大化当前窗口; Alt+空格+M:移动窗口; Alt+空格+S:改变窗口大小; Alt+Tab:两个程序交换; Ctrl+Shift:输入法切换; Ctrl+空格中英文切换; Ctrl+S保存; Ctrl+W关闭程序; Ctrl+Z:撤消刚才进行的操作; Ctrl+Y:恢复刚才进行的操作; Ctrl+A:选中全部内容; Ctrl+C:复制; Ctrl+V:粘贴; Ctrl+X:剪切;

计算机快捷键组合 CTRL组合键 Ctrl+A全选 Ctrl+B整理收藏夹 Ctrl+C复制 Ctrl+D删除/添加收藏(在Word中是修改选定字符格式,在IE及傲游中是保存为收藏) Ctrl+E搜索助理在Word中是段落居中 Ctrl+F查找 Ctrl+G在Word中是定位 Ctrl+H历史记录在Word中是替换 Ctrl+I收藏夹 Ctrl+J IE7.0里的源 Ctrl+K在Word中是插入链接 Ctrl+L=Ctrl+O打开

Ctrl+M网页搜索框中的确定(等于回车)在Word中是调整整段缩进Ctrl+N新窗口 Ctrl+P打印在Word中是等于Ctrl+Shift+F12 Ctrl+R刷新在Word中可使段落右对齐 Ctrl+S保存 Ctrl+T IE7.0打开新选项卡 Ctrl+U在Word中是给所选内容加下划线 Ctrl+V粘贴 Ctrl+W关闭当前窗口 Ctrl+X剪切 Ctrl+Y恢复上一步操作 Ctrl+Z撤消上一步操作 F键 F1帮助 F2重命名 F3搜索 F4显示“我的电脑”和“Windows资源管理器”中的“地址”栏列表。F5刷新 F6在窗口或桌面上循环切换屏幕元素。 F7DoS下专用功能 F8Windows启动选项

大漠插件后台找图、自动获取坐标窗口句柄鼠标多点左单击脚本

大漠插件后台找图、自动获取坐标窗口句柄鼠标多点左单击 脚本 一、准备工作 第一步:下载大漠插件、解压,运行“注册大漠插件到系统.bat”,把全部东东都复制到按键精灵的plugin目录下吧~ 第二步:创建一个文件夹,以d:\test 为例。把你要找的图(60.bmp)、大漠插件里的dm.dll 和RegDll.dll复制到这个文件夹。 第三步:打开按键精灵,创建一个新脚本。往附件(在软件左边框选项)里面添加dm.dll、Reg.dll和图60.bmp 二、复制以下代码到按键精灵 dim ys1,ys2,ys3,a,b,zbx,zby//自定义变量 ys1=9000//1和2点延时 ys1=9000//2和3点延时 ys1=9000//3和1点延时 a=15//纵向下移15单位 b=-15//纵向上移15单位 zbx=100//获取窗口句柄给定的坐标x zby=100//获取窗口句柄给定的坐标y PutAttachment "d:\test", "*.*" //意思是释放所有附件到d:\test目录。就是把有用的文件打包到test目录下 PutAttachment ".\Plugin", "RegDll.dll" //意思是释放RegDll.dll文件到按键精灵安装目录的Plugin目录下,用来完成大漠插件的注册 Call Plugin.RegDll.Reg("d:\test\dm.dll") //调用大漠插件,在按键精灵中使用 Set dm = createobject("dm.dmsoft") //用大漠插件创建一个对象dm dm_ret = dm.SetPath("d:\test") // 设置全局路径,以后你找图用的图片都默认是test目录里的图片了,否则你要用绝对路径d:\test\1.bmp来该表示图片 dm_ret = dm.LoadPic("*.bmp") // 字面意思是加载test目录下的所有图片 Hwnd = dm.GetPointWindow(zbx,zby)//用大漠软件获取给定坐标(zbx,zby)的窗口句柄,保存在Hwnd里 Call Plugin.Window.Move(Hwnd, 0, 0) // 把窗口移到屏幕的(0,0),即左上角 dm_ret = dm.BindWindow(Hwnd,"gdi","windows","windows",0) //这句用来绑定辅助操作的对象窗口 //下面是一条判断语句,如果绑定失败就会提示。那就从前面几几步中找原因吧 Delay 10 If dm_ret = 1 Then Else MessageBox "绑定失败,重启脚本或联系作者" EndScript

万能电脑快捷键

这是高手最常用的第一快捷组合键。这个快捷键组合可以将桌面上的所有窗口瞬间最小化,无论是聊天的窗口还是游戏的窗口……只要再次按下这个组合键,刚才的所有窗口都回来了,而且激活的也正是你最小化之前在使用的窗口! --这个就是winkey winkey+f : 不用再去移动鼠标点“开始→搜索→文件和文件夹”了,在任何状态下,只要一按winkey+f 就会弹出搜索窗口。 winkey+r : 在我们的文章中,你经常会看到这样的操作提示:“点击‘开始→运行’,打开‘运行’对话框……”。其实,还有一个更简单的办法,就是按winkey + r! alt + tab : 如果打开的窗口太多,这个组合键就非常有用了,它可以在一个窗口中显示当前打开的所有窗口的名称和图标●,选中自己希望要打开的窗口,松开这个组合键就可以了。而alt+tab+shift键则可以反向显示当前打开的窗口。 winkey+e : 当你需要打开资源管理器找文件的时候,这个快捷键会让你感觉非常“爽”!再也不用腾出一只手去摸鼠标了! 小提示: winkey指的是键盘上刻有windows徽标的键●。winkey主要出现在104键和107键的键盘中。104键盘又称win95键盘,这种键盘在原来101键盘的左右两边、ctrl和alt键之间增加了两个windwos键和一个属性关联键。107键盘又称为win98键盘,比104键多了睡眠、唤醒、开机等电源管理键,这3个键大部分位于键盘的右上方。 再补充点..... F1显示当前程序或者windows的帮助内容。 F2当你选中一个文件的话,这意味着“重命名” F3当你在桌面上的时候是打开“查找:所有文件”对话框 F10或ALT激活当前程序的菜单栏 windows键或CTRL+ESC打开开始菜单 CTRL+ALT+DELETE在win9x中打开关闭程序对话框 DELETE删除被选择的选择项目,如果是文件,将被放入回收站SHIFT+DELETE删除被选择的选择项目,如果是文件,将被直接删除而不是放入回收站 CTRL+N新建一个新的文件 CTRL+O打开“打开文件”对话框 CTRL+P打开“打印”对话框 CTRL+S保存当前操作的文件 CTRL+X剪切被选择的项目到剪贴板 CTRL+INSERT 或CTRL+C复制被选择的项目到剪贴板 SHIFT+INSERT 或CTRL+V粘贴剪贴板中的内容到当前位置 ALT+BACKSPACE 或CTRL+Z 撤销上一步的操作 ALT+SHIFT+BACKSPACE重做上一步被撤销的操作 Windows键+D:最小化或恢复windows窗口 Windows键+U:打开“辅助工具管理器” Windows键+CTRL+M重新将恢复上一项操作前窗口的大小和位置

17个你必须牢记的Win7快捷键

17个你必须牢记的Win7快捷键 电脑初学者掌握了盲打技术,可以提高录入速度;游戏玩家掌握了快捷键,可以在瞬息百变的对战中提高生存的机会;而Windows玩家掌握了快捷键,不但可以提高电脑操作速度,更能享受到初级玩家望着你那仰慕的眼神……

Top 17 常规快捷键 在开始使用Win7中神奇的快捷键加速我们的电脑操作之前,先给大家介绍几个从Win2000到现在一直通用的“资源管理器”快捷键,权当作热身吧! ?Win+E:打开“资源管理器”。 ?Win+R:打开“运行”对话框。 ?Win+L:锁定当前用户。 ?Ctrl+W:关闭当前窗口。 ?Alt+D:定位到地址栏。 ?Ctrl+F:定位到搜索框。 ?F11:最大化和最小化窗口切换。 ?Alt+向左键:查看上一个文件夹。 ?Alt+向右键:查看下一个文件夹 ?Alt+向上键:查看父文件夹

Top 16新建文件夹 要在Win7的“资源管理器”中新建一个文件夹,最传统、常规的方式莫过于打开相应分区下的目录,然后右键点击空白处,选择“新建”→“文件夹”。 不过,利用快捷键操作会更简单:打开想要新建文件夹的分区或者目录,直接按下“Ctrl+Shift+N”,一个“新建文件夹”就出现了——你所要做的只是将它改成一个适合的名字而已。 Top 15 以管理员身份打开 Win7中的UAC(用户账号控制)虽然已经很智能,但并不完美,不少程序我们在执行的时候需要手工指定“以管理员身份运行”。

如果要“以管理员身份运行”的程序位于“开始”菜单或者“桌面”中,那就简单多了:按下“Ctrl+shift”组合键,再点击左键就“以管理员身份运行”了。 Top 14 3D程序切换 Windows下,一直有个很方便的窗口切换快捷键“Alt+Tab”,按下它就可以在打开程序窗口之间切换。 Win7自然也支持这个快速切换方式,而且还提供了更华丽的升级版——不信你就按下“Win+Tab”看看,3D样式的窗口预览,会令你感到惊艳的!

易语言模拟输入方法和窗口句柄的获取

易语言模拟输入方法和窗口句柄的获取 IE打开不同选项卡,发现却有相同的句柄。 打开新的选项卡时,必须重新对句柄进行初始化。可以用以下三种方式来取句柄, ·直接用顶级句柄0 ·窗口_取句柄_模糊(,“IEFrame”)) ·IEhandle(“IEFrame”,“用户登录_微贷网官网专业的理财平台-Windows Internet Explorer”),这句页面不存在时,标题更换了,取不到句柄。 打开新页面时,必须加入延时,等待页面载入完成,可用网页填表.就绪判断(“可用余额”)穿透网页框架时,要用微凉网页填表模块。 取余额时,用标签名可取网页填表.取操作元素(“SPAN[15]”,元素对象,) 对链接不能用网页填表.按钮_点击(“id=submit”,1),而要用以下取元素对象再点击的方式 .如果(网页填表.取操作元素(“innerText=我要投资”,元素对象,)) 网页填表.操作元素_点击(元素对象)'也许是因为链接不能用按纽的形式点击 .否则调试输出(“获取操作元素对象innerText=我要投资失败!”) 若取所有的窗口句柄和窗口标题时 窗口_枚举子窗口(0,子句柄数组,) .计次循环首(5,i)'计次循环首(取数组成员数(子句柄数组),i) 输出调试文本(取窗口标题(子句柄数组[i])) .计次循环尾() 对账号及密码输入,可用 网页填表.文本框_写内容(“name=userName”,编辑框1.内容,) 网页填表.文本框_写内容(“name=password”,编辑框3.内容,) 模拟输入方式 方式一 置剪辑板文本(“918236”) 网页填表.取操作元素(“name=password”,元素对象,) '编辑框3.获取焦点() 网页填表.操作元素_置焦点(元素对象)'必须要焦点,否则密码没地方输入 模拟按键(#Ctrl键,#V键,)'必须加延时,否则网页递交时密码还未提交 '网页填表.按钮_点击(“btn_submit”)‘该方式不行,必须用上面操作元素点击的方式延迟(1000) 方式二 网页填表.取操作元素(“name=password”,元素对象,)

VB_API调用,实现获取窗口信息

VB编程:浅谈API的应用——实现获取目标窗口的信息 1.第一部分 废话不说,先把几个用到的API声明源码发出来,我是在“模块”里声明的 Option Explicit Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal X As Long, ByVal Y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long '窗口置顶 Declare Function SetCapture Lib "user32" (ByVal hwnd As Long) As Long '捕获鼠标所在窗口信息 Declare Function ReleaseCapture Lib "user32" () As Long ' 与setcapture对应 Declare Function WindowFromPoint Lib "user32" (ByVal xPoint As Long, ByVal yPoint As Long) As Long '返回鼠标所在窗口的句柄 Declare Function ClientToScreen Lib "user32" (ByVal hwnd As Long, lpPoint As POINTAPI) As Long '坐标转化 Declare Function GetClassName Lib "user32" Alias "GetClassNameA" (ByVal hwnd As Long, ByVal lpClassName As String, ByVal nMaxCount As Long) As Long '获取指定窗口类名 Public Type POINTAPI X As Long Y As Long End Type 大家看到了,这里我用到了6个API,每个API声明的后面我都把它的功能注释出来了。 2.第二部分 下面是实现获取窗口信息源码,我是写在“窗体”源码里的 Dim TuBiaoFlag As Boolean Dim ShuBiao As POINTAPI Private Sub Check1_Click() ZhiDing (Check1.Value) End Sub Private Sub Form_Load() Picture1.Picture = LoadPicture(App.Path & "\pass.ico") TuBiaoFlag = 0

常用快捷键(及浏览器快捷键)

快捷键 windows自带快捷键:(最经常用的一些快捷键) Ctrl快捷键 Ctrl+C 复制 Ctrl+V 粘贴 Ctrl+Z 撤销Ctrl+X 剪切 Ctrl+A 全选 Ctrl+F 查找 Ctrl+S 保存,我们在做的工作,一般都要求随时保存。 2)Alt快捷键 Alt+F4 关闭当前程序 Alt+Tab 窗口切换,按住alt 选择想要打开的窗口,释放alt后就会自动打开了,这个快捷键会自动记住最后两个打开的窗口,这样两个常用的窗 口就只按下alt+tab就能很快的打开 了,不需要按住alt 选择窗口了。因为自动记忆了最后两次窗口。 3)Shift快捷键 Shift+Del 永久删除所选项,而不将它放到“回收站”中。 4) Tab快捷键 Tab 切换输入窗口,在输入信息的时候,按tab键可以跳到下一个表单,应该都知道吧,上面这几个快捷键 5)windows+E: 打开我的电脑 Windows+D:显示桌面 Windows+M:最小化所有窗口 Windows+Shift+M:还原最小化的窗口 第二:火狐浏览器自带快捷键(同样适用于其他浏览器,不包括IE): 1) firefox快捷键搜索类: Ctrl+F:本页查找。 2)firefox快捷键导航类: Alt+Home:首页。 Alt+左方向键或 Backspace:后退。 Shift+Backspace 或 Alt+右方向键:前进。 F5 或 Ctrl+R :重新载入。 Ctrl+F5 或 Ctrl+Shift+R :重新载入 (忽略缓存)。 3)firefox快捷键编辑类: Ctrl+C 复制 Ctrl+V 粘贴 Ctrl+Z 撤销

C利用句柄操作窗口

C# 实现过程: 过程一:找到当前鼠标位置的句柄 您的使用2个WinAPI(俺喜欢自己封装下来用): View Code [DllImport("", EntryPoint = "GetCursorPos")] public static extern bool GetCursorPos(out Point pt); [DllImport("", EntryPoint = "WindowFromPoint")] public static extern IntPtr WindowFromPoint(Point pt);

ndexOf; } public override string ToString() { StringBuilder result = new StringBuilder(); for (WinHWND winHandle = this; winHandle != null; winHandle = { ("{0}:{1};", Escape, if == -1) break; }

return ().TrimEnd(';'); } private static string GetBaseMark(string sMark) { string[] sMarks = (';'); return sMarks[ - 1].Split(':')[0]; } private static string[] GetChildMarks(string sMark) {

string[] sMarks = (';'); string[] sChildMarks = new string[ - 1]; for (int i = 0; i < ; i ++ ) { sChildMarks[i] = sMarks[i ]; } return sChildMarks; } .是不是都匹配 foreach (IntPtr baseHwnd in baseHwnds)

苹果电脑快捷键使用:

苹果电脑快捷键使用: * cmd+C:拷贝 * cmd+V:粘贴 * cmd+W:关闭窗口 * cmd+Q:退出程序 * cmd+I:显示文件/文件夹属性 * cmd+Backspace:删除 * cmd+shift+3:捕获整个屏幕 * cmd+shift+4:捕获选择的区域 * cmd+shift+4+space:捕获某个应用程序的窗口 * cmd+F:在应用程序中搜索 * cmd+Space:用Spotlight进行桌面搜索 * fn+Backspace:相当于Windows里面的Delete键(笔记本键盘专用,台式机键盘有Delete键) * 开机时,听到启动音后,按住Option(相当于Windows的Alt)键,可以选择从Windows或者Mac启动。 * 开机时,听到启动音后,按住“T”键,将使计算机进入目标磁盘状态,即通过USB连线,可以将苹果机当作USB硬盘使用。 组合键功能 Command-A 选中最前面的Finder 窗口中的所有项(如果未打开任何窗口则选中桌面内容)

Option-Command-A 取消选择所有项 Shift-Command-A 打开“应用程序”文件夹 Command-C 拷贝所选项/文本至夹纸板 Shift-Command-C 打开“电脑”窗口 Command-D 复制所选项 Shift-Command-D 打开桌面文件夹 Command-E 推出 Command-F 查找任何匹配Spotlight 属性的内容 Shift-Command-F 查找Spotlight 文件名匹配项 Option-Command-F 导航到已打开的Spotlight 窗口中的搜索栏 Shift-Command-G 前往文件夹 Shift-Command-H 打开当前所登录用户帐户的个人文件夹Command-I 显示简介 Option-Command-I 显示检查器 Control-Command-I 获得摘要信息 Shift-Command-I 打开iDisk Command-J 调出“显示”选项 Command-K 连接服务器 Shift-Command-K 打开“网络”窗口 Command-L 为所选项制作替身 Command-M 最小化窗口

相关文档
相关文档 最新文档