windows shell扩展程序怎样与外部程序交互

fantacyinsky 2008-11-16 01:40:33
我已经用windows shell扩展程序实现了在系统右键菜单中添加一项,在一个文件上点击右键选择这一项会弹出文件的信息,我想把这个文件上传,应该怎样把这个文件传给处理上传的程序,我的上传程序是在jsp中? 谢谢!
...全文
119 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
fantacyinsky 2008-11-18
  • 打赏
  • 举报
回复
算了 既然没有人回答。。。结贴。。太失望了
fantacyinsky 2008-11-17
  • 打赏
  • 举报
回复
我从网上下的这个例子是右键选择后弹出来一个消息框显示文件的名字和路径,变量是szMsg

MessageBox ( pCmdInfo->hwnd, szMsg, _T("SimpleShlExt"),
MB_ICONINFORMATION );

我就想可以把这个变量用writefile写到一个文件dir.txt中,然后实现上传的jsp页面可以从这个文件中获得要上传的文件(因为我不知道怎么把变量直接传给它)代码如下

HANDLE fileHandle;
fileHandle=CreateFile("d:\\webbin\\dir.txt", GENERIC_WRITE, FILE_SHARE_WRITE, 0, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0);
DWORD a=20 ;
unsigned long b;
OVERLAPPED c;

WriteFile(fileHandle,szMsg, a, &b, NULL);

::CloseHandle(fileHandle);

问题是,我右键点击一个文件后,我想打开dir.txt,看是不是写进去了,但是打不开,消息是:另一个程序正在使用此文件,进程无法访问。我试着在jsp中访问这个文件,也是permission denied.

请问怎么解决



sys0005 2008-11-16
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 fantacyinsky 的回复:]
或者,这样做可以吗,windows shell外壳程序能把信息写入数据库吗?然后上传的程序从数据库读取
[/Quote]

就是一个实现了Shell接口的DLL,你在DLL里面当然可以做任何事情了。
fantacyinsky 2008-11-16
  • 打赏
  • 举报
回复
或者,这样做可以吗,windows shell外壳程序能把信息写入数据库吗?然后上传的程序从数据库读取
fantacyinsky 2008-11-16
  • 打赏
  • 举报
回复
嗯,上传的那段代码是用js写的。我想做的就是,不用通过弹出选择文件对话框选择要上传的文件,而是通过右键选择,请问有什么办法吗
fantacyinsky 2008-11-16
  • 打赏
  • 举报
回复
怎么用http协议传送选中的文件?能说具体点吗
yjgx007 2008-11-16
  • 打赏
  • 举报
回复
你的意思是像IE浏览器里,选择文件提交(submit)至jsp服务页面,取得该文件?
你可能需要写一个multi-form提交程序,用http协议传送本地选中的文件(上下文菜单中)到jsp服务页面进行处理。
Liv2005 2008-11-16
  • 打赏
  • 举报
回复
start iexplorer http://XXX/X.jsp?file=XXX
如何?。。呵呵。。。玩笑。。。
jameshooo 2008-11-16
  • 打赏
  • 举报
回复
上传程序在jsp中是什么意思?ActiveX?
必须有一个独立的组件来完成上传功能。Shell扩展或者ActiveX都是被动型组件,依赖于宿主才能被加载,万一宿主都没启动,连执行任务的机会都没有。

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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