惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

P
Privacy & Cybersecurity Law Blog
V
V2EX
月光博客
月光博客
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
The Register - Security
The Register - Security
MongoDB | Blog
MongoDB | Blog
P
Privacy International News Feed
The Last Watchdog
The Last Watchdog
Security Archives - TechRepublic
Security Archives - TechRepublic
美团技术团队
Stack Overflow Blog
Stack Overflow Blog
博客园 - 司徒正美
博客园 - 三生石上(FineUI控件)
V
Visual Studio Blog
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
K
Kaspersky official blog
S
Secure Thoughts
T
Tenable Blog
Security Latest
Security Latest
The Cloudflare Blog
S
Security @ Cisco Blogs
H
Heimdal Security Blog
aimingoo的专栏
aimingoo的专栏
TaoSecurity Blog
TaoSecurity Blog
Blog — PlanetScale
Blog — PlanetScale
Microsoft Security Blog
Microsoft Security Blog
Schneier on Security
Schneier on Security
Webroot Blog
Webroot Blog
G
Google Developers Blog
www.infosecurity-magazine.com
www.infosecurity-magazine.com
Scott Helme
Scott Helme
IT之家
IT之家
Latest news
Latest news
The Hacker News
The Hacker News
C
Check Point Blog
T
The Exploit Database - CXSecurity.com
H
Hackread – Cybersecurity News, Data Breaches, AI and More
腾讯CDC
C
CERT Recently Published Vulnerability Notes
NISL@THU
NISL@THU
N
News | PayPal Newsroom
Forbes - Security
Forbes - Security
P
Palo Alto Networks Blog
S
Security Affairs
S
Securelist
Google Online Security Blog
Google Online Security Blog
WordPress大学
WordPress大学
Last Week in AI
Last Week in AI
C
Cybersecurity and Infrastructure Security Agency CISA
A
About on SuperTechFans

博客园 - 礼拜一

MAC实用技巧 。 工业设计的10个基本法则 Web可用性设计的247条指导方针 选中文本,变绿~ Examples of location paths using the unabbreviated syntax 15戒律 HttpWebRequest默认的只有2个并发连接限制!!!!! 获取远程XML文档 在外企工作,一些英語用法潜规则 vs2008命令窗口使用 Visual Studio 2005 中的命令窗口 Error: No such interface supported 动态加载UserControl~ - 礼拜一 - 博客园 英语常用高频语句 jQuery的一些备忘 - 礼拜一 - 博客园 XSLT模式匹配的语法 XPath表达式(缩写和详写方式) 穷死了,看电子书吧~ C#里边的控件缩写大全(比较规范)
C# Console:利用mspaint打开图像并保存 。
礼拜一 · 2010-11-30 · via 博客园 - 礼拜一

调用画图板压缩图片

System.Diagnostics.Process process = new System.Diagnostics.Process();
process 
= System.Diagnostics.Process.Start("mspaint.exe", path);
int processId = process.Id;

AutomationElement element 

= FindWindowByProcessId(processId);
System.Windows.Forms.SendKeys.SendWait(
"^s");       //发送 Ctrl + s 键
System.Windows.Forms.SendKeys.SendWait("%{F4}");      // 发送 Alt + F4 键

代码

        public static AutomationElement FindWindowByProcessId(int processId)
        {
            AutomationElement targetWindow 
= null;
            
int count = 0;
            
try
            {
                Process p 
= Process.GetProcessById(processId);
                targetWindow 
= AutomationElement.FromHandle(p.MainWindowHandle);
                
return targetWindow;
            }
            
catch (Exception ex)
            {
                count
++;
                StringBuilder sb 
= new StringBuilder();
                
string message = sb.AppendLine(string.Format("Target window is not existing.try #{0}", count)).ToString();
                
if (count > 5)
                {
                    
throw new InvalidProgramException(message, ex);
                }
                
else
                {
                    
return FindWindowByProcessId(processId);
                }
            }
        }

模拟键盘输入

SendKeys.SendWait("{F5}");          //发送F5按键
SendKeys.SendWait("^s");       //发送 Ctrl + s 键
SendKeys.SendWait("%{F4}");      // 发送 Alt + F4 键//按键 代码 
BACKSPACE {BACKSPACE}, {BS}, 或 {BKSP} 
BREAK {BREAK} 
CAPS LOCK {CAPSLOCK} 
DEL or DELETE {DELETE} 或 {DEL} 
DOWN ARROW {DOWN} 
END {END} 
ENTER  {ENTER}或 
~ 
ESC {ESC} 
HELP {HELP} 
HOME {HOME} 
INS or INSERT {INSERT} 或 {INS} 
LEFT ARROW {LEFT} 
NUM LOCK {NUMLOCK} 
PAGE DOWN {PGDN} 
PAGE UP {PGUP} 
PRINT SCREEN {PRTSC} 
RIGHT ARROW {RIGHT} 

SendKeys.SendWait(

"+{TAB}");
SendKeys.SendWait(
"%f");//alt+f
SendKeys.SendWait("{Tab}");
SendKeys.SendWait(
"{Enter}")//多次按键的代码//为了指定重复键,使用 {key number} 的形式。必须在 key 与 number 之间放置一个空格。//例如,{LEFT 42} 意指 42 次按下 LEFT ARROW 键;{h 10} 则是指 10 次按下 H 键。

Where is the System.Windows.Automation

The UIAutomationClient.dll is located in this folder:

C:\Program Files\Reference Assemblies\Microsoft\Framework\v3.0

If you can't find in your Add Reference->.Net tab, then you have to use the Browse tab to go to the given path, and add the assembly (Right Click on the References, choose add reference, click browse tab):

Demo下载