网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 论文素材 设计下载 最新论文 下载排行 论文上传 在线投稿 联系我们
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > DELPHI > 正文
Delphi实现Windows外壳扩展编程
来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/12
下载{$ArticleTitle}原创论文样式

sPath = BrowseForFolder(Form1.hwnd

选择拷贝到的文件夹

)

If sPath <> "" Then

With tCopy

.hwnd = Form1.hwnd

.lpszProgressTitle = "正在拷贝"

.pTo = sPath

.fFlags = FOF_ALLOWUNDO

.wFunc = FO_COPY

End With

For i = 0 To List1.ListCount - 1

If List1.Selected(i) Then ''如果文件被选中则拷贝文件

tCopy.pFrom = List1.List(i)

SHFileOperation tCopy

End If

Next i

UpdateList

End If

Kill sFile

End Sub

Private Sub Command2_Click() ''执行文件移动操作

Dim sPath As String

Dim tCopy As SHFILEOPSTRUCT

Dim i As Integer

''选择移动到的文件夹

sPath = BrowseForFolder(Form1.hwnd

选择转移到的文件夹

)

If sPath <> "" Then

With tCopy

.hwnd = Form1.hwnd

.lpszProgressTitle = "正在移动"

.pTo = sPath

.fFlags = FOF_ALLOWUNDO

.wFunc = FO_MOVE

End With

For i = 0 To List1.ListCount - 1

If List1.Selected(i) Then ''如果文件被选中则拷贝文件

tCopy.pFrom = List1.List(i)

SHFileOperation tCopy

End If

Next i

UpdateList

End If

Kill sFile

End Sub

Private Sub Command3_Click() ''执行文件删除操作

Dim sPath As String

Dim tCopy As SHFILEOPSTRUCT

Dim i As Integer

With tCopy

.hwnd = Form1.hwnd

.lpszProgressTitle = "正在删除"

.pTo = sPath

.fFlags = FOF_ALLOWUNDO

.wFunc = FO_DELETE

End With

For i = 0 To List1.ListCount - 1

If List1.Selected(i) Then

tCopy.pFrom = List1.List(i)

SHFileOperation tCopy

End If

Next i

UpdateList

Kill sFile

End Sub

Private Sub Form_Load()

Dim hFileHandle As Long

Dim TextLine As String

Command1.Caption = "拷贝"

Command2.Caption = "移动"

Command3.Caption = "删除"

Command1.Enabled = False

Command2.Enabled = False

Command3.Enabled = False

''sFile接受由Windows外壳扩展库contextmenu.dll传递过来的文件参数

sFile = Command$

hFileHandle = FreeFile

Open sFile For Input As hFileHandle

Do While Not EOF(hFileHandle)

Line Input #1

TextLine

If Dir$(TextLine) <> "" Then

List1.AddItem TextLine

End If

Loop

Close hFileHandle

End Sub

Private Sub Form_Unload(Cancel As Integer)

If Dir$(sFile) <> "" Then

Kill sFile

End If

End Sub

Private Sub List1_Click()

If Not Command1.Enabled Then

Command1.Enabled = True

Command2.Enabled = True

Command3.Enabled = True

End If

End Sub

保存文件并将工程文件编译为FileOP.exe文件,将文件拷贝到C盘根目录下。然后注册contextmenu.dll,注册的方法是,在DOS窗口中进入Windows\system子目录,输入 Regsvr32 x:\xxxxx\contextmenu.dll 。其中x:\xxxxx\为Contextmenu.dll文件所在的驱动器和目录。如果注册成功,系统会弹出对话框,显示 DllRegisterServer in ..\xxx\contextmenu.dll Success 提示注册成功。

注册成功后,再选择文件并单击右键,就会发现在弹出菜单中多了一个“执行文件操作”的菜单项,点击该项,系统就会调用FileOP.exe执行文件操作,在窗口的列表框中会出现用户选择的文件名,点击相应的文件并点击“拷贝”、“移动”或“删除”按钮就可以对列表框中的选中的文件进行相应的操作。

  • 下一篇资讯: Delphi编程实现文件关联
  • 网学推荐

    免费论文

    原创论文

    浏览:
    设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
    湘ICP备09003080号