首页
新闻
论坛
群组
Blog
文档
下载
读书
Tag
网摘
搜索
.NET
Java
游戏
视频
人才
外包
培训
数据库
书店
程序员
欢迎您:
游客
| 退出
| 登录
注册
帮助
我的帖子
我参与的帖子
我的空间
我的网摘
CSDN
CSDN社区
.NET技术
ASP.NET
将帖子提前
放进我的网摘
推荐给好友
我要提问
帖子加分
生成帖子
置顶
推荐(加精)
取消推荐(加精)
锁定帖子
移动帖子
取消引用
结贴去...
管理菜单
页面风格切换
标准风格
老版本论坛
我想在一个页面中点击按钮打开记事本,并填写点数据
加为好友
发送私信
在线聊天
qcdn
个性小子
等级:
发表于:
2008-06-12 16:36:20
楼主
我想在一个页面中点击按钮打开记事本,并填写点数据
我之前找了篇文章,尝试了下:
#region [ 启动记事本 ]
System.Diagnostics.Process Proc;
try
{
// 启动记事本
Proc = new System.Diagnostics.Process();
Proc.StartInfo.FileName = "notepad.exe";
Proc.StartInfo.UseShellExecute = false;
Proc.StartInfo.RedirectStandardInput = true;
Proc.StartInfo.RedirectStandardOutput = true;
Proc.StartInfo.RedirectStandardError = true;
Proc.StartInfo.CreateNoWindow = true;
Proc.Start();
}
catch
{
Proc = null;
}
#endregion
#region [ 传递数据给记事本 ]
if (Proc != null)
{
// 调用 API, 传递数据
while (Proc.MainWindowHandle == IntPtr.Zero)
{
Proc.Refresh();
}
IntPtr vHandle = FindWindowEx(Proc.MainWindowHandle, IntPtr.Zero, "Edit", null);
// 传递数据给记事本
SendMessage(vHandle, WM_SETTEXT, 0, c);
}
#endregion
但是,点击按钮操作后CPU 100% w3wp占的,但是通过调试状态就可以打开这个记事本,不知道是为什么,有人有好的方法吗?以上代码只是粘贴了一部分,引用“User32.DLL”的语句没都贴出来,编译是能通过的,调试可以运行,但是在IIS里,就打不开记事本,还占用CPU 100%
问题点数:
20
回复次数:
2
显示所有回复
显示星级回复
显示楼主回复
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
xocom
福大
等级:
发表于:
2008-06-13 22:12:00
1
楼 得分:
0
(using)System.Diagnostics.Process p = new System.Diagnostics.Process();
p.StartInfo.FileName = "notepad.exe";
p.StartInfo.WorkingDirectory = @"c:\windows\system32\"; //你的记事本的路径
p.StartInfo.CreateNoWindow = true;
p.StartInfo.UseShellExecute = false;
p.Start();
using能自动释放资源
修改
删除
举报
引用
回复
加为好友
发送私信
在线聊天
maco_wang
哈尔滨☆叶子
等级:
发表于:
2008-06-13 22:20:54
2
楼 得分:
0
明显是资源没有被释放!
修改
删除
举报
引用
回复
将帖子提前
放进我的网摘
推荐给好友
我要提问
帖子加分
结贴去...
管理菜单
页面风格切换
标准风格
老版本论坛
网站简介
-
广告服务
-
网站地图
-
帮助
-
联系方式
-
诚聘英才
-
English
-
问题报告
北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
abc推荐给好友