vb.net 2003 api 编程有关问题
发布时间:2011-06-23 15:55:41 文章来源:www.iduyao.cn 采编人员:星星草
vb.net 2003 api 编程问题
要实现的功能
1.将一个文件上传至FTP服务器上
2.查找FTP服务器当前目录下最旧的1个或几个文件
3.删除旧文件
查了好多资料 感觉用wininet.dll编写最简单了
不过我对API不怎么了解
谁能给个完整点的代码啊
------解决方案--------------------
给你段hook的代码吧,大了点,hoho,你学学api是怎么声明的,wininet.dll是个什么东东,不知道里面的声明
Imports System.Runtime.InteropServices
Public Class MyHook
'Hook键盘
Private Const WH_KEYBOARD As Integer = 2
'Hook返回值
Private hHook As Integer = 0
'定义引用变量防止CallbackOnCollectedDelegate错误的产生
Private HookProc As CallBack
'回调函数
Public Delegate Function CallBack(ByVal nCode As Integer, ByVal wParam As IntPtr, ByVal lParam As IntPtr) As Integer
'事件
Public Event KeyDown As System.Windows.Forms.KeyEventHandler
Public Event KeyUp As System.Windows.Forms.KeyEventHandler
'获取线程ID的API声明
<DllImport( "kernel32.dll ", CharSet:=CharSet.Auto, CallingConvention:=CallingConvention.StdCall)> _
Public Overloads Shared Function GetCurrentThreadId() As Integer
End Function
'设置Hook的API声明
<DllImport( "User32.dll ", CharSet:=CharSet.Auto, CallingConvention:=CallingConvention.StdCall)> _
Public Overloads Shared Function SetWindowsHookEx(ByVal idHook As Integer, ByVal HookProc As CallBack, ByVal hInstance As IntPtr, ByVal wParam As Integer) As Integer
End Function
'处理下一Hook的API声明
<DllImport( "User32.dll ", CharSet:=CharSet.Auto, CallingConvention:=CallingConvention.StdCall)> _
Public Overloads Shared Function CallNextHookEx(ByVal idHook As Integer, ByVal nCode As Integer, ByVal wParam As IntPtr, ByVal lParam As IntPtr) As Integer
End Function
'移除Hook的API声明
<DllImport( "User32.dll ", CharSet:=CharSet.Auto, CallingConvention:=CallingConvention.StdCall)> _
Public Overloads Shared Function UnhookWindowsHookEx(ByVal idHook As Integer) As Boolean
End Function
'安装Hook,类型键盘线程钩子,失败返回0,成功返回钩子句柄
Public Function SetHook() As Integer
HookProc = New CallBack(AddressOf KeyBoardProc)
hHook = SetWindowsHookEx(WH_KEYBOARD, HookProc, IntPtr.Zero, GetCurrentThreadId)
Return hHook
End Function
'钩子处理子程
Private Function KeyBoardProc(ByVal nCode As Integer, ByVal wParam As IntPtr, ByVal lParam As IntPtr) As Integer
If nCode = 0 Then
If lParam.ToInt32 > 0 Then
RaiseEvent KeyDown(Me, New Windows.Forms.KeyEventArgs(CType(wParam, Windows.Forms.Keys)))
End If
If lParam.ToInt32 < 0 Then
RaiseEvent KeyUp(Me, New Windows.Forms.KeyEventArgs(CType(wParam, Windows.Forms.Keys)))
End If
End If
Return CallNextHookEx(hHook, nCode, wParam, lParam)
End Function
'移除Hook,成功返回True,失败返回False
Public Function UnHook() As Boolean
Return UnhookWindowsHookEx(hHook)
End Function
End Class
------解决方案--------------------
studying
------解决方案--------------------
函数是完成功能的,首先你要知道wininet.dll是干什么的啊
------解决方案--------------------
确认ftp服务器是否允许下载
确认远程文件地址是否正确
确认ftp服务器是否支持ASCII模式
确认ie选项中被动模式是否勾选
确认是否有拦截软件(呵呵,没试过,谁知道有没有这么强功能的软件)
确认本地是否有创建文件的权限
确认本地文件名是否有问题,去掉d:\试一下
------解决方案--------------------
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。
其他相似内容:
-
关于VB.net中的验证控件
小弟正在开发一个C/S结构程序,有几个界面有较多的textbox,是关于用户数据输入的,现在想做验证,听说有验证控...
-
多表查询问题
我有三个表,一个表为基本表,一个是代码表,一个是出差表
表一 编号,姓名 ,职别
001 李三 101
...
-
DATAGRIDVIEW无法删除未提交的新行?
再DATAGRIDVIEW录入时,想删除最后自动新增的一行,提示无法删除未提交的新行
Private Sub Dat...
-
迷茫了几天,求各位高手指教一下!下面是我的代码!
<!--#include file="webconfig.asp"-->
<%
Dim SortID
SortID=Trim(FLib.SafeSql(R...
-
vb.net 断开和连接网络连接 修改代码
在vb.net中实现断开和连接网络连接的代码,我在网上找了一段代码
Option Explicit On
'首...
-
DataGridView直接导出EXCEL
如何直接读取DataGridView中的数据,并导出成Excel可以直接读取的文件
记住,我不要通过DataTable。
希...
-
求教:如何在vb.net下做一些好看的界面,整一些好看的效果,改变控件,让控件变得好看点?
有没有点例子?有没有点直接可以做控件的软件?
---...
-
在VB中,对SQL数据库进行增删改语句怎么写呢?
小弟做课程设计,遇到了一点小麻烦,卡在了这里,不知道在VB中怎么写对SQL数据库的增删改...
-
文本框中的数字精确到小数点后两位
请问如何让文本框输入数字后精确到小数点后两位,如:当输入112时,显示为112.00
------解决方案--...
-
VB.NET2008如何利用SendMessage修改按钮的Text?
为了测试 Windows API ,试图点Button用SendMessage修改该按钮的Text,竟然没成功,请教...