《顾名思义》
《顾名思义》
关注数: 3
粉丝数: 271
发帖数: 16,601
关注贴吧数: 16
听说WinSock可以把域名转成IP 是怎么做的?
这是什么情况? 这。。。。你度娘还没有开通,第一个签到加经验吧。。。
写了一个不用数据库管理学生成急的程式 你们不是常门用什么方法管理数据吗, 这个是二进制写入文件。。 画红框的几个Command我没有加代码。你们自己加吧 这个程式有很多BUG你们自己修正吧。想写好程式从修改程式开始我是这么做的。 也是为了打激伸手党。这个不是内函图。。。
VB2070你在Win9下能运行吗? 加密,加密。。
VB除了用DIR还有什么好的方法? 得到长长的文件夹名? 我用DIRLISTBOX,文件名太长了,居然出了一个问号。。。。
关于素数理解 是不是不能整除(被除?)2,3,5,7。的数都被认定为素数? 如果真是这样就能简化不少的循环。。
有多少人是这样调用ShellExecute的 ShellExecute Me.hwnd, "open", "paint.exe", vbNullString, vbNullString, SW_SHOWNORMAL 如果是上面的样子调用,说实话还真不如用Shell 其实lpDirectory 这个参数加上才是最好的做法 ShellExecute 0, "open", "paint.exe", vbNullString, "C:\Windows\System32", SW_SHOWNORMAL 因为有的程式在得到路径时,会得到的是你调用ShellExecute的程式所在的路径。。
昨天无聊,想起了用SendMessage让画图画画 结果很背锯,为什么不行呢? SendMessage &H327FF0,WM_SETCURSOR,WM_LBUTTONDOWN ,&H1FF0064 SendMessage &H327FF0,WM_SETCURSOR,WM_MOUSEMOVE Or WM_LBUTTONDOWN ,&H20A0087 SendMessage &H327FF0,WM_SETCURSOR,WM_LBUTTONUP,&H20A0087 为什么这样做没反应?
关于播放局域上其它电脑上的MP3 问一下有没有可以直接从内存读取文件(MP3)的播放器核?
现在游戏的做者资源保护的都很好啊 动画都是Flash了,吗的,还要用Flash8提图。。。提出来的动画都不是动画了,我擦。。
话说,这一放假。。 我们的签到名次就又回第五名了。。看来学生党还真不少。。
谁知道一个API的名子 该API的功能就是把一个较长的字符串给缩短。 A="C:\Windows\system32\winmm.dll" 可以转成 A="C:\Windows\system32\..."
谁没事老在挖坟? 答完了一看原来是2009年发的。。。 我发现一个现像,为什么我提问的贴了没人帮我,别人的贴子你们怎么都有回答
刚无聊的把Shell中的Iocn全提了出来 好了下面是Shell中的所有图标是PNG格式的,有用的拿去玩吧。。。 每个小图像大小是32*32,一共有16行,15列。。。
我们的签到名次怎么掉到第十位了 谁还没有签到。。。
内网确实很爽。。。 估计是笔记本电脑用的是WIFI的问题,我的百兆网卡只占用了16-18%,不过对我来说已经很快了。。500M的影片只用了10分钟吧(我没仔细看)。。 我的4M宽带只有4%的下载速度。。 总算把UDP下载程式写完了。。。 CopyMemory出现错误完全是我自己的马虎造成的。。。 现在可以从别人的电脑上下载了。。。 问题还是有的。自已下载自己电脑上的文件可能出现没反正的情况。。 程式我晚点发到我的网盘。。。因为还没有美化。。。 当然,你们的电脑要是能局域网共享就免了吧。。
我已经无能为力了。。。 谁有用WinSock使用UDP协议,传送8kb以上的大文件的方法,我用CopyMemory老是提示我,内存不能为Read.... @ sunshinebean
为什么,为什么? WinSock,UDP这后难道就只能传String吧?传个Byte数组。不是太大,就是不能传本机, 用两个电脑也不行,我擦。。。
关于WinSock的一个小问题。。 我做了一个小的局域网传输工具。。。都差不多做好了才发现使用UDP协议之后不能传大于8KB的数组。。。我擦 。。。 有什么好办法吗?
估计再过一个月 吧里所有人的ID都变成橙名子了。。。
关于手柄模拟键盘的工具 刚看到一个游戏视频,有人再用手柄模拟键盘的软件。。。 我也想无聊的做一个。。。 要命的是手柄识别问题。。。 键盘可以用keybd_event, 手柄我用API,joyGetDevCaps和其它的几个。。觉得有些不戏劲。。 我英文不好是不是不用这个些joy开头的API? 实在不行我就只能用DX了。。。 你们有什么高见?
连续签到30天有ID高亮这是真的吗 我来试一下看看。。
无聊,做了一个贺卡。。 那个花是动画的。。。
求解,啊求解。。 刚看到如下代码。为什么没有出错,以后都可以这样写吗? Option Explicit Dim i As Integer Dim a As String Dim z As String Private Sub Command1_Click() For i = Asc("a") To Asc("z") Print (i - 96) Text2 = Text2 & (i - 96) & vbTab这一行不应该写成Text2.text吗? Next End Sub
我居然可以删除自己贴子中的回复 @sunzhihuiustb 这是你给的权限吗?
刚刚看到有个绘图的学生 背锯的是我不会用Circle只会用API这就是那个图的API的画法。。。 Private Declare Function AngleArc Lib "gdi32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, ByVal dwRadius As Long, ByVal eStartAngle As Single, ByVal eSweepAngle As Single) As Long Private Declare Function MoveToEx Lib "gdi32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long, lpPoint As Any) As Long Private Declare Function LineTo Lib "gdi32" (ByVal hdc As Long, ByVal x As Long, ByVal y As Long) As Long Private Declare Function BeginPath Lib "gdi32" (ByVal hdc As Long) As Long Private Declare Function EndPath Lib "gdi32" (ByVal hdc As Long) As Long Private Declare Function FillPath Lib "gdi32" (ByVal hdc As Long) As Long Private Declare Function StrokePath Lib "gdi32" (ByVal hdc As Long) As Long Private Sub Form_Load() Me.AutoRedraw = True Me.FillStyle = 3 '设置成阴影线填充样式 BeginPath Me.hdc MoveToEx Me.hdc, 100, 200, 0 LineTo Me.hdc, 500, 200 MoveToEx Me.hdc, 300, 10, 0 LineTo Me.hdc, 300, 400 MoveToEx Me.hdc, 300, 200, 0 AngleArc Me.hdc, 300, 200, 180, 110, 45 LineTo Me.hdc, 300, 200 AngleArc Me.hdc, 300, 200, 180, 20, 45 LineTo Me.hdc, 300, 200 AngleArc Me.hdc, 300, 200, 180, 200, 45 LineTo Me.hdc, 300, 200 AngleArc Me.hdc, 300, 200, 180, 290, 45 LineTo Me.hdc, 300, 200 EndPath Me.hdc StrokePath Me.hdc '描边 BeginPath Me.hdc MoveToEx Me.hdc, 300, 200, 0 AngleArc Me.hdc, 300, 200, 180, 110, 45 LineTo Me.hdc, 300, 200 AngleArc Me.hdc, 300, 200, 180, 20, 45 LineTo Me.hdc, 300, 200 AngleArc Me.hdc, 300, 200, 180, 200, 45 LineTo Me.hdc, 300, 200 AngleArc Me.hdc, 300, 200, 180, 290, 45 LineTo Me.hdc, 300, 200 EndPath Me.hdc FillPath Me.hdc End Sub
Windows侧边栏的一个空壳 这是效果图。。。以下是代码。。。 Const DI_MASK = &H1 Const DI_IMAGE = &H2 Const DI_NORMAL = DI_MASK Or DI_IMAGE Private Declare Function ExtractAssociatedIcon Lib "shell32.dll" Alias "ExtractAssociatedIconA" (ByVal hInst As Long, ByVal lpIconPath As String, lpiIcon As Long) As Long Private Declare Function DrawIconEx Lib "user32" (ByVal hdc As Long, ByVal xLeft As Long, ByVal yTop As Long, ByVal hIcon As Long, ByVal cxWidth As Long, ByVal cyWidth As Long, ByVal istepIfAniCur As Long, ByVal hbrFlickerFreeDraw As Long, ByVal diFlags As Long) As Long Private Declare Function DestroyIcon Lib "user32" (ByVal hIcon As Long) As Long Private Sub Form_OLEDragDrop(Data As DataObject, Effect As Long, Button As Integer, Shift As Integer, X As Single, Y As Single) Dim I As Long Dim hIcon As Long Dim A() As String Me.Cls For I = 1 To Data.Files.Count If (I + 1) * 32 + (I + 1) * 12 * 3 > Me.ScaleHeight Then Me.Height = ((I + 1) * 32 + (I + 1) * 12 * 3) * 15 hIcon = ExtractAssociatedIcon(App.hInstance, Data.Files.Item(I), 0) DrawIconEx Me.hdc, Me.ScaleWidth * 0.5 - 16, (I - 1) * 32 + (I - 1) * 12 * 3, hIcon, 0, 0, 0, 0, DI_NORMAL DestroyIcon hIcon A = Split(Data.Files.Item(I), "\") If A(UBound(A)) = "\" Then Label1.Caption = Data.Files.Item(I) Else Label1.Caption = A(UBound(A)) End If CurrentX = (Me.ScaleWidth - Label1.Width) * 0.5 CurrentY = I * 32 + I * (12 * 3) - 24 Print Label1.Caption Erase A Next DrawStyle = 2 Line (Me.ScaleWidth * 0.5 - 16, (I - 1) * 32 + (I - 1) * 12 * 3)-(Me.ScaleWidth * 0.5 + 16, (I - 1) * 32 + (I - 1) * 12 * 3 + 32), , B DrawStyle = 0 Line (Me.ScaleWidth * 0.5 - 9, (I - 1) * 32 + (I - 1) * 12 * 3 + 16)-(Me.ScaleWidth * 0.5 + 11, (I - 1) * 32 + (I - 1) * 12 * 3 + 16) Line (Me.ScaleWidth * 0.5, (I - 1) * 32 + (I - 1) * 12 * 3 + 5)-(Me.ScaleWidth * 0.5, (I - 1) * 32 + (I - 1) * 12 * 3 + 27) I = Data.Files.Count Me.Height = ((I + 1) * 32 + (I + 1) * 12 * 3 + 24) * 15 Label1.Caption = "请拖放添加" CurrentX = (Me.ScaleWidth - Label1.Width) * 0.5 CurrentY = (I + 1) * 32 + (I + 1) * (12 * 3) - 24 Print Label1.Caption End Sub 画个图还是小意思的,没心情做下去了我的电脑是XP用不到这个玩意。。
关于上次有人说OLE_Drop 在窗体上画一个Text把OLE_Drop_Mode设为2(AutoMatic)这样把IE的网址拖到Text是不会出错的。 但是如果你把Text的OLE_Drop_Mode设为1(Manual)你就必须在Text,的OLEDragDrop设置,代码,这样只要你读取Data.Files.Item(1)就会出错。我试了几次都是这样。。 错误如下。。。让我很无奈。。你这样能成功能吗?
关于图标句柄。 刚看到,一个关于侧边栏的贴子。。 得到一个EXE图标的句柄,是很容易。。。 得到一个文件夹的图标可以从Deskto.ini文件中查到。。那默认的呢?怎么得到,在注删表? 还有就是*.lnk(快捷方式)的图标这个可以从lnk文件中找 最后就是文件图标了,这个我在注删表中找了一下,似乎只能看到启动它的程式,找不到ICO文件的地方。。 各位有方法吗?
关于select case 昨天被封所以没法发贴 在下百一个吐血发 select case A case 0 0r 9 的结果却只能当 A=9时才会通过r A=0时居然没反应。。。 请问我怎样处理0或9 难道要分开case?
关于用数子计算标志 标志确实可以省掉不少的变量。 说到标志很多人都会想到十六进制位运算。。这是微软想到的。 其实我们也可以完全用十进制位 就好比如下: 一个人物时:1表示向上走,2表示向下走,3表示向左走,4表向左走,5表示向左上,6表示向右上,7表示右下,8表示左下 当两个人物时也可以用21表示一个人向上走,一个人向下走 有人会说十进制没有十六方便,可以用Or Xor And 但是事实上都要用到判断语句去查 例如: 要用十六进制表示人物状态 1表示向上走,2表示向下走,4表示向左走,8表向左走 上面看上去确实很方便只用四个标志就能表示8个方向,但是实际上判断起来就麻烦了比如 要检察一个复合标制 10 就要做如下判断 a=10 if (a and 8)=8 then '吐血从这里开始,你还要加上一个IF IF (a and 2)=2 then msgbox "向左下走" Else msgbox "向左下走" endif endif 你一定会说也可以定义8个方向,这样确实可以少做判断,但是复合标志就没有意义了。 当然十进制也不是最好的,比如 一个翻方块游戏,只有两种颜色 黑 白 0,1 这时的十进制就有点背锯同样是一个变量表示3*3的正方形 当所有块为白时,十六进制表示&H1FF就可以了也就是一个Integer变量 而十进确要这样做111111111这个要Long形才可以。。 到底该用十六进制,还是该用十进制,我也有点说不清 还有那个好像是二进制位。。。 你们又是怎么用的?
关于“位运算”和CopyMemory 这是一个RGB值Long形转Byte的一个Class模块 Option Explicit Private mlColor As Long '~~~Color Property Let Color(lColor As Long) mlColor = lColor End Property '~~~Red Property Get Red() As Byte Red = mlColor And &HFF End Property '~~~Green Property Get Green() As Byte Green = (mlColor \ &H100) And &HFF End Property '~~~Blue Property Get Blue() As Byte Blue = (mlColor \ &H10000) And &HFF End Property 做一次确实比CopyMemory快 但是一个1024*768图像时,你就会发现会变慢了而且很麻烦 还不如 Dim A(1024*768-1) as long dim B(1024*768*4-1) as byte CopyMemory B(0),A(0),1024*768*4 有人说CopyMemory要做压栈,弹栈,但是只做一次,你要再说这个慢,在下只能说无语。。。
我记得有人发过一个获得中文字首字母的程式 有人知道址吗? AutoRunAs 你有吗?
可以用VB写出一个访问内网手机的程序吗 说白点就是电脑通过无线路由访问手机的内容 。。。
关于写文件的问题 昨天看到有的人这样写代码 错误我修改了一下 Private Sub Form_Load() Dim a As String Open App.Path & "\1.txt" For Input As #1 '打开1.text文件 Do While Not EOF(1) ' 判断是否到文件末尾 Line Input #1, a '将一行读入a变量 Text1.Text = Text1.Text & a & vbCrLf '逐行写入text1 Loop Close #1 End Sub 这里有个小问题,不知道有没有人去调试 当文件不存在时,用InPut方式打开文件是一定会出错的。
一个关于图片变形的问题 3D中用的最多的就是透视效果了,问题是,除了操作数组之外在下还真想不到什么好办法了,以前做过一列一列的去缩放发现很费时,有什么好的方法吗?
在电脑里发现一个VB做的程式 一个快速关机的程式,问一下,这个模非就是用Shell做出来的关机程试?
关于with events我居然忘了怎么写了。 刚看到有人问怎么调用Flash10以上的控件,我忽然想到事件可以用这个方法给弄出来,却忘了怎么弄了
问一个无聊点的问题 Print 可以画一半高度的字吗? 就像DrawText一样? 无语的是DrawText也不能只画文字的下半部分。。。
吐血啊。。if 和iif的差距真有那么大吗? 做以下判断 C=100 J=10 IF J-C> 0 then t=J-C Else T=0 end if T=IIF(J-C>0,J-C,0) 这。。 IF居然比IIF快6倍。。。
看到有人发自动寻路代码又不给算法我生气了(我给) 解释:在8个方向的地图上 ' 在地图上两点(x1,y1),(x2,y2) 的距离的最短值是 是 abs(x1-x2) 与 abs(y1-y2) ' 中的较大的一个,而不是 SQR((x1-x2)^2 +(y1-y2)^2) 如下图 ' * a(1,1) ' ** ' *** b(3,3) a 到 b 的距离 是 3-1 =2 而不是 SQR((3-1)^2+(3-1)^2)= SQR(8) ' ' 这样看起来,寻路程序走的是斜线,如果你让他走直线,只要把 估价函数改成 SQR((x-dx)^2+(y-dt)^2就可以了
关于这句“len(str)代替str=""” len(str)代替str=""这样可以代替吗 不是这样更方便吗IF Str=vbNullString Then ? 难道还要这样 IF Len(Str)=0 then ?
这也太夸张了吧。。。 求源码的也太夸张了点吧。。。 我又不是考试党没有源码。。。
一个NC的代码。。。 先上图吧
求解,怎么隐藏WebBrowser控件的ScrollBar RT 因为我想自己添加ScrollBar。
VB除了For Do While 还有一个神奇的循环语句 没错就是GoTo,这个真的是更好用,还以可跳出循环。
有没有人用VB写过关机UI的? 我最多只能找到一个Command不知道为什么。。
关于CallWindowProc 的问题 如果没有一个动态链接库的头文件,可以用LoadLibrary,GetProcAddress,CallWindowProc 来进行动态调用一个动态链接库中的函数,但是如果要传入参数太多CallWindowProc 就没法用了,有什么办法可以传入多个参数吗? 高手能给个实例吗?
为什么我的SendMessage没有效果? 我发现不止是VB,C++我也开始喜欢用图片模拟控件了。。。 case WM_PAINT: hdc = BeginPaint(hWnd, &ps); // TODO: Add any drawing code here... RECT rt; GetClientRect(hWnd, &rt); DrawText(hdc, szHello, strlen(szHello), &rt, DT_CENTER); PaintC=GetDC(0); //BitBlt(hdc,0,0,rt.right,rt.bottom,PaintC,0,0,SRCCOPY); MoveToEx(hdc,x[0],y[0],NULL); int checkn; for ( checkn=1;checkn<6;checkn++) { //x[0]==100; //y[0]==100; LineTo(hdc,x[checkn],y[checkn]); } EndPaint(hWnd, &ps); ReleaseDC(0,PaintC); break; case WM_LBUTTONUP: //int x; //int y; //hdc=BeginPaint(hWnd,&ps); //RECT rt; //GetClientRect(hWnd,&rt); x[z]=LOWORD(lParam); y[z]=HIWORD(lParam); //LineTo(hdc,x,y); z++; if (z>5) { z=0; } //EndPaint(hWnd,&ps); SendMessage(hWnd,WM_PAINT,NULL,NULL); break;
我要吐血了。。。 VB6和C++6的差距太大了,这个For的用法哪有问题? MoveToEx(hdc,0,0,NULL); int checkn; for (int checkn=0;checkn<5;checkn++) { LineTo(hdc,x[checkn],y[checkn]); } ReleaseDC(0,PaintC);
关于按键交换 我用Hook做的了一个按键的Funcion但是却不能在记事本里用以下是代码 Declare Function SetWindowsHookEx Lib "user32" Alias "SetWindowsHookExA" _ (ByVal idHook As Long, _ ByVal lpfn As Long, _ ByVal hmod As Long, _ ByVal dwThreadId As Long) As Long Declare Function CallNextHookEx Lib "user32" _ (ByVal hHook As Long, _ ByVal ncode As Long, _ ByVal wParam As Long, _ lParam As Any) As Long Declare Function UnhookWindowsHookEx Lib "user32" _ (ByVal hHook As Long) As Long Public Const WH_KEYBOARD = 2 Public hHook As Long Public Sub UnHookKBD() If hnexthookproc <> 0 Then UnhookWindowsHookEx hHook hHook = 0 End If End Sub Public Function EnableKBDHook() If hHook <> 0 Then Exit Function End If hHook = SetWindowsHookEx(WH_KEYBOARD, AddressOf _ MyKBHFunc, App.hInstance, 0) End Function Public Function MyKBHFunc(ByVal iCode As Long, _ ByVal wParam As Long, ByVal lParam As Long) As Long 'MyKBHFunc = 0 If wParam = vbKeyS Then ' MyKBHFunc = 1 Call CallNextHookEx(hHook, iCode, vbKeyQ, lParam) Exit Function End If Call CallNextHookEx(hHook, iCode, wParam, lParam) '传给下一个Hook End Function
谁有SF2音色库 百度了一下只有一个118MB的。
求VB得到硬盘使用时间 可以做到吗? 我记得VB可以得到CPU温度的。
VB吧里问的问题越来越像数学课上的问题了 那就高端点,有没有类似于网络蚂蚁这样的VB源码,我想观模一下。
关于Form_OLEDragDrop 设为手动之后为什么不能从DataObject中读取任何东西?
关于调用Flash中的Function VB可以用Flash控件调用SWF中的过程吗? 经过我测试,失败了。。。 不知道你们试过没有?
VB高手
CreateFileMapping的问题 我怎么把Res文件CreateFileMapping内存? 映射进内存之后可以用LoadImage读取吗?
以上是PictureBox.ToolTipText所显示的东西,怎么样上Form也有这样的功能? 我试过调用窗口,可是,老是让本窗口失去焦点(LostFocus)
VB做三角渐变填充 很多人都知道可用数组做矩形渐变填充,我都做过,不过在VB中运行很慢,这次给个实用的,用WindowsAPI,在度娘文库中可以找到这个词条,可恨的是没有用法,害我试了好长时间。 自行添加一个模块加入以下代码 Public Declare Function GradientFill Lib "msimg32" Alias "GradientFill" (ByVal hDC As Long, pVertex As TRIVERTEX, ByVal dwNumVertex As Long, pMesh As GRADIENT_TRIANGLE, ByVal dwNumMesh As Long, ByVal dwMode As Long) As Long Public Type GRADIENT_TRIANGLE Vertex1 As Long Vertex2 As Long Vertex3 As Long End Type Public Type TRIVERTEX '顶点类型 X As Long Y As Long Red As Integer Green As Integer'注意这里看清楚这里的变量类型! Blue As Integer Alpha As Integer End Type '以下在窗体 Private Sub Form_Load() Dim rect(0 To 2) As TRIVERTEX Dim Prect1 As GRADIENT_TRIANGLE Me.AutoRedraw = True With rect(0) .X = 0 .Y = 0 .Green = &HFF00 End With With rect(1) .X = 0 .Y = 200 .Red = &HFF00 End With With rect(2) .X = 200 .Y = 200 .Blue = &HFF00 End With Prect1.Vertex1 = 0 Prect1.Vertex2 = 1 Prect1.Vertex3 = 2 Me.Cls Call GradientFill (Me.hDC, rect(0), 3, Prect1, 1, 2) End Sub 相信有了这个方法,VB再也不用,觉得net有三角渐变了吧,这个可以做360角渐变,但是要改改,怎么改你就自己去试试吧 这是效果图
首页
1
2
3
4
下一页