notepad 打开文件 并跳到某行

budweiser 2009-07-17 04:15:33
Windows98/2K/XP系统自带的文本编辑器有支持命令行参数就可以打开一个文本文件并跳到到某一行的吗?
像unix下的vi,用命令
vi -c "9" dxsb.txt
就可以打开文本文件“dxsb.txt”并把光标停留在第九行第一列


有人提议用 脚本 发送 SendKeys, 但本人不会,有会的人说一下吗?

100分奖励
...全文
658 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhouzhipen 2009-07-18
  • 打赏
  • 举报
回复

HINSTANCE hinstance = ShellExecute(*this, _T("open"), m_strFilePath, NULL, NULL, SW_SHOWNORMAL);

CString strWindNmae=m_strFilePath+" - 记事本";
HWND hWnd=::FindWindow(NULL,strWindNmae);
::SendMessage(hWnd, EM_LINESCROLL, 0, 200); //跳到200行


试试这个
xwsn007 2009-07-18
  • 打赏
  • 举报
回复
MARK,顶一下
danxuezx 2009-07-17
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 budtang 的回复:]
HWND handle;
HINSTANCE hinstance = ShellExecute(handle, _T("open"), m_strFilePath, NULL, NULL, SW_SHOWNORMAL);

::SendMessage(handle, EM_LINESCROLL, 0, 4);  //跳到200行


怎么不行啊, 代码是这样的, 帮忙看下。
[/Quote]
您SendMessage里的handle和您记事本窗口有什么关系呢?
tkminigame 2009-07-17
  • 打赏
  • 举报
回复
HINSTANCE 和HWND是两个东西,不能互相转换
budweiser 2009-07-17
  • 打赏
  • 举报
回复
具体情况是这样的:我在一个程序中调用notepad打开文件,然后让notepad定位到文件的某一行。

HINSTANCE hinstance = ShellExecute(this->GetSafeHwnd(), _T("open"), m_strFilePath, NULL, NULL, SW_SHOWNORMAL);

(this->GetSafeHwnd()是父窗口句柄,也就是我的程序的句柄)
m_strFilePath 是被打开文件的路径



然后得到的是 HINSTANCE ,但是 ::SendMessage(handle, EM_LINESCROLL, 0, 4); //跳到4行

这个消息函数要得第一个参数是HWND, 所以他们之间存在一个转化过程。

还有一个问题是,他们之间可不可以传递消息???
oyljerry 2009-07-17
  • 打赏
  • 举报
回复
FindWindow查找notepad得到handle试试
budweiser 2009-07-17
  • 打赏
  • 举报
回复
HWND handle;
HINSTANCE hinstance = ShellExecute(handle, _T("open"), m_strFilePath, NULL, NULL, SW_SHOWNORMAL);

::SendMessage(handle, EM_LINESCROLL, 0, 4); //跳到200行


怎么不行啊, 代码是这样的, 帮忙看下。
eagerle01 2009-07-17
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 oyljerry 的回复:]
SendMessage(hwnd, EM_LINESCROLL, 0, 200)  //跳到200行

[/Quote]
up
oyljerry 2009-07-17
  • 打赏
  • 举报
回复
SendMessage(hwnd, EM_LINESCROLL, 0, 200) //跳到200行
wangk 2009-07-17
  • 打赏
  • 举报
回复
发送EM_LINESCROLL消息。
消息参数请参考MSDN。

15,980

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧