易截截图软件、单文件、免安装、纯绿色、仅160KB
热门标签: c c# c++ asp asp.net linux php jsp java vb Python Ruby mysql sql access Sqlite sqlserver delphi javascript Oracle ajax wap mssql html css flash flex dreamweaver xml
 最新文章 : vb

VB 将长路径转为短路径 & 获取剪粘板中的文件的列表

将长路径转为短路径
Private Declare Function GetShortPathName Lib "kernel32" Alias "GetShortPathNameA" (ByVal lpszLongPath As String, ByVal lpszShortPath As String, ByVal cchBuffer As Long) As Long
Private Function ShortPath(ByVal FileName As String) As String
Dim S As String
On Error GoTo exitFunc:
S = String(255, " ")
GetShortPathName FileName, S, 255
ShortPath = Left(S, InStr(S, Chr(0)) - 1)
exitFunc:
End Function
获取剪粘板中的图片文件的列表
  Private Const CF_HDROP = 15
   
  Private Type POINT
          x   As Long
          y   As Long
  End Type
   
  Private Type DROPFILES
          pFiles   As Long
          pt   As POINT
          fNC &nbs ......

vb 锁定鼠标到某一位置

Private Declare Function ClipCursor Lib "user32" (lpRect As Any) As Long
Private Type RECT
    Left As Long
    Top As Long
    Right As Long
    Bottom As Long
End Type
Private Sub Command1_Click() '锁定鼠标 到某一位置
    Dim r As RECT
    r.Left = 100: r.Top = 100
    r.Right = 100: r.Bottom = 100
    ClipCursor r
End Sub
Private Sub Command2_Click() '解除锁定
    ClipCursor ByVal 0&
End Sub
'原帖地址:
http://fy5388.blog.163.com/blog/static/5649953720091127115554104/ ......

VB 线程 真的不行

一开始 以为VB的线程 不是像网上人说的那么脆弱。。。哎 现在领略到了。。。VPrivate Declare Function CreateThread Lib "kernel32" (lpThreadAttributes As Any, ByVal dwStackSize As Long, ByVal lpStartAddress As Long, ByVal lpParameter As Long, ByVal dwCreationFlags As Long, lpThreadId As Long) As Long
Private Sub Command1_Click()
Dim threadid1 As Long
Call CreateThread(Null, ByVal O&, AddressOf StartConn, VarPtr(0), ByVal 0&, threadid1)
End Sub
Sub StartConn()
Dim x As String
x = Left("dasdasd", 4) '这句都不行 直接崩溃
End Sub
B 退休吧
  ......

VB 字节数组和字符串的转换问题 (StringByte)

VB 字节数组和字符串的转换问题 (String<>Byte)
Posted by JiaJia 16 March,2009 (2)Comment
一、 前言
   数据类型转换在编程中经常用到,VB6提供了一整套类型转换的函数。但是,在进行类型转换时,有时候仅仅依靠VB提供的函数是不能达到自己的目的的。因此,需要考虑用其他的方法来完成数据类型转换。本文仅谈VB6中字节数组和字符串的相互转换过程中应注意的问题及其解决办法。
   在Visual Basic中使用Byte数组主要是为了32位API函数的参数传递和函数的返回。在32位的Visual Basic版本中,字符串被假定为Unicode字符,其中每个字符占用两个字节。系统自动地将Unicode的两个连续字节转换成1个字节的ANSI字符。但是,如果该字符串包含二进制数据,其内容将变得很难理解。例如,一个汉字是两个字节,在Visual Basic 6.0中的长度就只是1,这将给我们计算单个汉字的国标码带来一些麻烦。有了Byte数组,这些问题就将迎刃而解。
   另外,Visual Basic中的字符串和C语言中的字符串有一些不同,本文将给出一个函数,把C字符串转换成Visual Basic字符串。
二、 用Byte数组代替字符串
   Byte数组包含的是0-255之间的ASCII码字符,它不会象字符串那样被 ......

VB 长整型和字节数组的转换问题 (LongByte)

VB 长整型和字节数组的转换问题 (Long<>Byte)
Posted by JiaJia 17 March,2009 (0)Comment
用到的API声明:
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long)
Long2Byte
Dim TempLng As Long
Dim TempBytes(0 To 3) As Byte
TempLng = 2000
#If 方法1 Then
CopyMemory TempBytes(0), TempLng, 4
#ElseIf 方法2 Then
TempBytes(0) = TempLng And &HFF
TempBytes(1) = (TempLng And &HFF00&) \ &H100
TempBytes(2) = (TempLng And &HFF0000) \ &H10000
TempBytes(3) = (TempLng And &H7F000000) \ &H1000000 Or (((TempLng And &H80000000) <> 0) And &H80)
#End If
Byte2Long
Dim l_byte(0 To 3) As Byte '要被转化的Byte()
Dim l_long As Long '要保存转化的Long
l_byte(0) = &1F
l_byte(1) = &2F
l_byte(2) = &3F
l_byte(3) = &4F
l_long = "&H" & (CStr(Hex(l_byte(0))) & CStr(Hex(l_byte(1)))) & CStr(Hex(l_byte(2))) & CStr(Hex(l_byte(3)))
 http://yul ......

VB为自己的程序设定消息(可接收处理)


VB为自己的程序设定消息(可接收处理)
Posted by JiaJia 5 March,2009 (0)Comment
  用API函数 SetWindowLong 指定处理消息的窗口过程为自定义的函数 WindowProc,捕获消息ID为 WM_USER+1 的自定义消息或系统消息。并且,为了保证窗口能正确的响应消息,需要保存原来默认的窗口过程并在自定义函数WindowProc中调用。如下例,在按钮事件中发送自定义消息,WindowProc 捕获了窗口大小变化的系统定义消息和用户自定义的消息并显示用户自定义的消息参数 wParam。
Form 部分代码
Private Sub Command1_Click()
Dim wParam As Long
Dim lParam As Long
Dim lResult As Long
 wParam = 12345
 lResult = SendMessage(Me.hwnd, WM_USER + 1, wParam, lParam)
End Sub
Private Sub Form_Load()
 Me.Tag = Hook(Me.hwnd)
End Sub
Private Sub Form_Unload(Cancel As Integer)
 Unhook Me.hwnd, Me.Tag
End Sub
Mod 部分代码
Option Explicit
Private Declare Function CallWindowProc Lib "user32" Alias _
"CallWindowProcA" (ByVal lpPrevWndFunc As Long, _
ByVal hwnd As Long, ByVal Msg As Long, _
ByVal wParam As Long, ByVal lParam As Long) A ......
总记录数:380; 总页数:64; 每页6 条; 首页 上一页 [18] [19] [20] [21] 22 [23] [24] [25] [26] [27]  下一页 尾页
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号