vb.net资源到文件 vbnet imports( 二 )


代码
Imports System Runtime InteropServices
Public Class Form
Inherits System Windows Forms Form
Implements IMessageFilter
API申明
Const WM_DROPFILES = H拖放文件消息
DllImport( shell dll ) Public Shared Sub DragFinish(ByVal hDrop As Integer)
End Sub
DllImport( shell dll ) Public Shared Sub DragAcceptFiles(ByVal hwnd As Integer ByVal fAccept As Boolean)
End Sub
DllImport( shell dll ) Public Shared Function DragQueryFile(ByVal HDROP As Integer ByVal UINT As Integer ByVal lpStr As System Text StringBuilder ByVal ch As Integer) As Integer
End Function
Private Sub Form _Load(ByVal sender As System Object ByVal e As System EventArgs) Handles MyBase Load
Application AddMessageFilter(Me)
DragAcceptFiles(TextBox Handle ToInt True)
End Sub
Function PreFilterMessage(ByRef m As Message) As Boolean Implements IMessageFilter PreFilterMessage
If m Msg = WM_DROPFILES Then
设置拖放的动作
Dim nfiles As Int
nfiles = DragQueryFile(m WParam ToInt Nothing )
Dim i As Int
Dim *** As New System Text StringBuilder( )
Dim sFirstFileName As String 记录第一个文件名
TextBox Clear()
For i = To nfiles
DragQueryFile(m WParam ToInt i *** )
If i = Then sFirstFileName = *** ToString
TextBox AppendText(ControlChars CrLf*** ToString)
Next
DragFinish(m WParam ToInt ) 拖放完成
显示文件内容
Dim fs As New System IO FileStream(sFirstFileName IO FileMode Open)
Dim sr As New System IO StreamReader(fs System Text Encoding GetEncoding( gb ))
TextBox AppendText(ControlChars CrLfsr ReadToEnd() ToString)
fs Close()
sr Close()
End If
Return False
End Function
Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
If disposing Then
If Not (ponents Is Nothing) Then
ponents Dispose()
End If
End If
Application RemoveMessageFilter(Me)
DragAcceptFiles(TextBox Handle ToInt False)
MyBase Dispose(disposing)
End Sub
lishixinzhi/Article/program/net/201311/13043
VB.NET2010 如何复制指定目录下按类型的所有文件到另一文件夹 复制后再删除原来的文件?这段代码的问题是vb.net资源到文件:
首先for each循环在files里查找文件对象vb.net资源到文件 , 但是f变量声明为stringvb.net资源到文件了vb.net资源到文件,无法让它获取对象;
然后file.copy的变量file没有任何声明,也没有初始化赋值等;
最后,整个for each循环里查找集合files的文件,由于初始化的循环计数器仍然按照最初设定的文件数目向后递增(文件地址),但是实际文件删除一部分,后续的文件位置就不能跟循环计数指针匹配vb.net资源到文件了 , 所以默认为查找不到文件,将会报错 。一般的做法时把复制和删除分别放在2次循环里,第一次只复制文件 , 第二次才去删除 。
VB.net如何调用资源文件(resx)里的图片?放在解决方案资源管理器还没完 。进入项目属性vb.net资源到文件 , 资源vb.net资源到文件,把解决方案资源管理器里的资源文件拖进来,改个便于调用的名称,然后My.Resources里面就可以调用vb.net资源到文件了 。如果是VS可以识别的,那么就直接是Bitmap类型的,可以隐式转换成Image类型 。
VB.NET将一个已有的A.EXE文件添加到项目资源,如何在项目生成的EXE文件中运行它?这种情况有一种变通的办法,就是把它改为其他文件名(不是exe文件,让别人不注意它),运行时把它复制一份并改回exe文件名,然后执行它,执行完毕之后删除 。

推荐阅读