请用易语言翻译如下VB内容
.版本 2
.DLL命令 CopyMemory, , "kernel32", "RtlMoveMemory"
.参数 Destination, 整数型, 传址
.参数 Source, 整数型, 传址
.参数 Length, 长整数型
.DLL命令 ZeroMemory, , "kernel32", "RtlZeroMemory"
.参数 Destination, 整数型, 传址
.参数 Length, 长整数型
.DLL命令 FindWindowEx, 整数型, "user32", "FindWindowExA"
.参数 hWnd1, 长整数型
.参数 hWnd2, 长整数型
.参数 lpsz1, 文本型
.参数 lpsz2, 文本型
.DLL命令 RegisterWindowMessage, 长整数型, "user32", "RegisterWindowMessageA"
.参数 lpString, 文本型
.DLL命令 GetCurrentProcessId, 长整数型, "kernel32", "GetCurrentProcessId"
.DLL命令 GlobalAddAtom, 短整数型, "kernel32", "GlobalAddAtomA"
.参数 lpString, 文本型
请教RegisterWindowMessage函数的用法,最好给个实例
UINT RegisterWindowMessage(lpsz)
函数说明:RegisterWindowMessage函数定义一个新
的窗口消息,该消息保证在整个系统范围内是唯一的。
调用SendMessage或PostMessage函数时可以使用该
函数返回的消息值。
参数说明: lpsz
指向一个以NULL结束的字符串,该字符串指定待登记的消息。
返回值:若成功地登记了消息,返回值是一个消息标识符。该标识符值的范围在0XC000到0XFFFF之间,否则,返回值为0。
注释:RegisterWindowMessage函数通常用于为两个合作应用程序之间的通信登记消息。
若两个不同的应用程序登记了相同的消息字符串,则这两个应用程序返回相同的消息值。该消息一直维持被登记状态,直到Windows会话结束。当多个应用程序必须处理同一消息时才使用RegisterWindowMessage函数。在一个窗口类范围内发送私有消息时,应用程序可使用范围在WM_USER到0X7FFF之间的任意整数。
1.ControlAtomString:=Format('ControlOfs%.8X%.8X', [GetModuleHandle(nil), GetWindowThreadProcessID(Handle, OwningProcess)]);
ControlOfs%.8X%.8X,是一个Format的表达式,里面的%.8x%.8x好像是8位16进制;
2.参考上文;
3.目标窗体要自定义一个处理RM_GetObjectInstance消息的过程;
Explorer经常出错,任务栏图标全部消失
Explorer.exe程序出现错误的解决方法:
explorer.exe出错的几种可能原因:
1.系统资源不足。如果机器配置低的话建议不要同时开启太多应用程序。另外可适当加大虚拟内存,特别是经常玩大型游戏。这种情况下升级机器是最根本的解决办法呵呵。
2.系统文件损坏。检查explorer.exe的文件大小,正常情况下应该显示为237k或者238k,如果大小不一致,可运行sfc/scannow扫描系统文件。若explorer.exe程序本身损坏,可以从别的机器上拷贝一个explorer.exe文件到本机,调用任务管理器,接入explorer.exe进程,然后新建任务拷贝新的文件到系统盘\WINNT(2000)或\WINDOWS(XP)目录下。
3.软件冲突(特别是右键第三方加载项)。譬如输入法,清华紫光输入法3.0版本有的时候会出现explorer.exe出错,取消清华紫光输入法,用其他输入法输入会没有问题。清华紫光输入法4.0版本未发现类似问题。苹果美化版的rar惹的祸,把它卸载了暂时就没有这个错误了,你也可以看是不是安装了苹果美化版的rar,有的话,也可以卸载了来看一下。
装了酒精120%或者酒精52%虚拟光驱,在番茄的系统中很容易出现explorer.exe错误。卸载有时候会解决问题。
4.病毒。(wc98pp.dll)
网络协议处理器-电子书编译工具WebCompiler相关。
wc98pp.dll文件本身并没有影响,很多计算机上都有此文件,但是当explorer.exe出错的时候,删除此文件可以解决问题,然后从注册表中搜索相关键值删除。
usign.dll,有人提到这个文件与wc98pp.dll两个文件类似,删除这两个文件可以清除IE中不断跳出小广告。在公司的计算机中未发现此文件。
5.windows升级造成的
大家都知道我们用的是盗版xp,既然是盗版的,肯定会出现各种各样的错误.微软也不是sb,肯定会搞一些问题来惩罚我们,所以建议大家不要上网自动更新,并且把自动更新关掉(实际上这个更新没p用)
6.系统内核错误。此类情况暂时无法解决,重新安装系统。
7.内存问题。有人通过更换内存,解决了这个问题,所以这应该是个原因,不过如果这个出问题就比较麻烦了,所以先考虑前面几个原因。
8.其他原因。计算机运行某个程序等待时间过长,比如读取数据,尤其是光盘或者外界设备的数据的时候,也会出现explorer.exe出错。
exeplorer.exe是系统的外壳。这个文件因为开机就被加载到内寸中。所以这个文件通常不会损坏。发生错误是因为注册表的中与exeplorer关联的项发生异常。原因很多,不好查找。所以一般只有重新安装系统。如果嫌麻烦,使用启动盘启动系统,在恢复控制台中修复。
解决方法
1.第三方加载项的问题
我以一般的途径从遇到explorer错误的人们得到信息。通常他们都这么叙述:"当我在资源管理器中右键点击一个文件时系统提示explorer遇到错误需要关闭"或"当我尝试浏览文件夹的时候,我收到系统提示explorer遇到错误需要关闭"。
通常,这些错误是由于第三方加载项没有正常工作所引起的。这些加载项负责创建一些选项当你在资源管理器右键点击一个文件时。一些第三方程序会添加他们自己的选项到这些菜单,而这有些时候会出现问题。如果你仔细看你会发现几个非常规的选项在这个右键菜单上:"SendtoFaxRecipient","ScanwithNortonAntivirus","TextPad"和"Winzip"。
如果想尝试寻找引起explorer错误的第三方加载项,你需要下载这个工具:ShellExView,它会允许你查看和禁用加载项。
解决办法:当你下载并运行它以后,ShellExView会显示出所有的安装在你的电脑上的加载项。你可以分类排序使所有第三方加载项示在一起。然后,选择所有第三方加载项并禁用它们,并试着执行以前导致错误的操作(比如右键点击一个文件或浏览一个文件夹等等)如果没有错误提示,就说明你所禁用的一个加载项造成了explorer错误。接下来,通过每一次启用一个加载项并尝试之前引起错误的操作就可以找出引起错误的第三方扩展了ShellExView会显示出加载项的所有的额外信息,比如版本号、公司名称。如果你希望继续使用致使explorer出错的加载项,请检查他的更新版本或联系他的客户支持explorer出错的另一个原因是因为机器里内含病毒、木马或间谍广告程序。想检测电脑里存在的病毒请使用专业的程序,比如江民、瑞星等杀毒软件;检测电脑里存在的间谍软件,我推荐下列程序:MicrosoftWindowsAntiSpyware(Beta)、Lavasoft'sAd-Aware、RoseCitySoftware'sSpywareMedic或者Spybot'sSearch&Distroy。
2.一些关于此问题的中文知识库文章
在“地址”框或“打开”框中键入地址时出现错误消息。桌面是白色的并且错误信息报告Browseui.dll中有“Windows资源管理器”错误信息:ExplorerCausedanInvalidPageFaultinModuleBrowseui.dll(资源管理器导致模块Browseui.dll中出现无效页面错误)
错误信息:ErrorLoadingExplorer.exeYouMustReinstallWindows(加载Explorer.exe时出现错误,必须重新安装Windows)
查看“我的电脑”中的内容时Windows资源管理器退出在试图映射网络驱动器时Windows资源管理器退出并生成错误信息尝试安装Windows2000ServicePack3时出现错误信息“Explorer.exeHasGeneratedErrorsandWillBeClosedByWindows”(Explorer.exe发生错误,将被Windows关闭),在关闭某个文件夹时,Explorer.exe可能会生成一个应用程序错误尝试打开“网上邻居”时收到“WindowsExplorerHasEncounteredaProblemandNeedstoClose”(Explorer.exe发生错误,将被Windows关闭)错误消息。右键单击文件时出现错误信息,或是当在Autodesk或Discreet产品中打开某些文件时发生问题在WindowsXP中试图打开“网上邻居”或“共享文档”时,“我的电脑”和Windows资源管理器意外退出Explorer.exe在WindowsXP中反复意外退出。
3.怎样避免
使用WindowsXP时间比较长后,有时运行会很不流畅,甚至会不响应鼠标键盘对操作。很多时候是系统的假死。和真正的死机不同,假死完全可以被“救活”。假死的根源在于explorer.exe(整个图形界面的驱动)。既然会假死,那就一定有解决方法,下面就为朋友们介绍一些拯救系统假死的方法。
第一招:当使用资源管理器打开新文件夹或用浏览器打开新页面不响应时,用“Win+D”或单击快速启动栏的显示桌面按钮,再在桌面上按F5或右键刷新即可。一般刷新3-5次后再把资源管理器或浏览器窗口还原就会恢复正常了。
第二招:这一招很灵,能对付大多数假死的情况。当任务管理器都打不开时,先把光驱弹出之后再弹入(千万不要在光驱里放光盘),鼠标指针旁会出现一个小光盘标志,这时就会唤起系统的知觉,这招可是屡试不爽!
第三招:最后的杀手锏,用组合键“Ctrl+Alt+Del”启动任务管理器,然后在“进程”选项卡中结束explorer.exe,整个桌面只剩一张壁纸,桌面图标和任务栏都没影了,然后在任务管理器的“文件→新建任务”中输入explorer.exe,即可恢复正常。这一招还可释放内存资源,一举两得。
照下面的方法可以明显减少假死可能性:
能不用右键菜单的时候就尽量不用,尽量使用热键如用F2重命名、用F5刷新等。WindowsMediaPlayer最好不用可视化效果,用了往往会卡机。真想用的话,微粒是最不容易卡机的,建议用“微粒”可视化效果。不要轻易使用内存整理软件,往往会越整理系统速度越慢。如果真想释放系统资源,注销当前用户再重新登录是最好的方式。说了这么多,大家也不妨试试这些方法。
使用VBA对一个打开的文档进行操作,代码~详细点!谢谢!
Private Sub iOpenXLS()
Dim ph As String, bk As Workbook
ph = "D:\我的文档\Book1.xls" '设置excel文件地址
Set bk = Workbooks.Open(ph) '打开这个excel文档
With bk.Worksheets("sheet1") '操作sheet表
.Range("a1:b1").Merge '合并单元格a1:b1
End With
bk.Close True '保存并关闭这个excel文件
End Sub
vb 获取网络时间较快的代码
直接用vb转换GMT时间Private Function getWebDatetime() As StringDim XmlHttp As ObjectSet XmlHttp = CreateObject("Microsoft.XMLHTTP")XmlHttp.Open "POST", "http://www.baidu.com", FalseXmlHttp.sendgetWebDatetime = CDate(1 / 3 + CDbl(CDate(Mid$(XmlHttp.getResponseHeader("Date"), 5, 21))))Set XmlHttp = NothingEnd Function扩展资料:读取网站服务器返回的时间的代码Private Function getWebDatetime() As StringDim XmlHttp As Object, objJs As ObjectSet XmlHttp = CreateObject("Microsoft.XMLHTTP")XmlHttp.Open "POST", "http://www.baidu.com", FalseXmlHttp.sendSet objJs = CreateObject("msscriptcontrol.scriptcontrol")objJs.Language = "jScript"getWebDatetime = objJs.Eval("var dt = new Date('" & XmlHttp.getResponseHeader("Date") & "');var date = [ [dt.getFullYear(), dt.getMonth() + 1, dt.getDate()].join('-'), [dt.getHours(), dt.getMinutes(), dt.getSeconds()].join(':')].join(' ').replace(/(?=\b\d\b)/g, '0');date;")Set XmlHttp = NothingSet objJs = NothingEnd Function
求助,求从网络读取时间的vb代码
'Download by http://www.newxing.com/Private Function GetHtml(Url As String) Dim xmlHttp As Object Set xmlHttp = CreateObject("Microsoft.XMLHTTP") xmlHttp.open "GET", Url, True xmlHttp.send (Null) While xmlHttp.ReadyState 4 DoEvents Wend GetHtml = xmlHttp.responseTextEnd FunctionPrivate Function getTime() As Date Dim Regex As Object, ms As Object, m As Object Dim HTML As String HTML = GetHtml("http://www.time.ac.cn/timeflash.asp?user=flash") Set Regex = CreateObject("VBSCRIPT.REGEXP") Regex.IgnoreCase = True Regex.Pattern = "(\d+)(\d+)(\d+).+?(\d+)(\d+)(\d+)" Set ms = Regex.Execute(HTML) If ms.Count = 0 Then getTime = Now() Else Dim t As String t = ms.Item(0).SubMatches(0) _ & "-" & ms.Item(0).SubMatches(1) _ & "-" & ms.Item(0).SubMatches(2) _ & " " & ms.Item(0).SubMatches(3) _ & ":" & ms.Item(0).SubMatches(4) _ & ":" & ms.Item(0).SubMatches(5) If IsDate(t) Then getTime = CDate(t) Else getTime = Now() End IfEnd FunctionPrivate Sub Form_Load() MsgBox getTimeEnd Sub
如何让VB程序启动后不在任务栏显示?
办法如下:
1、首先在一个模块中做如下声明:
Public Const SW_HIDE = 0
Public Const GW_OWNER = 4
Declare Function GetWindow Lib "user32" Alias "GetWindow" (ByVal hwnd As _
Long, ByVal wCmd As Long) As Long
Declare Function ShowWindow Lib "user32" Alias "ShowWindow" (ByVal hwnd _
As Long, ByVal nCmdShow As Long) As Long
2、 将下面的代码添加到窗体的Load事件中:
Dim rc As Long
Dim OwnerhWnd As Long
'让窗体不可见
Me.Visible = False
'从任务管理器列表中移除
wnerhWnd = GetWindow(Me.hWnd, GW_OWNER)
rc = ShowWindow(OwnerhWnd, SW_HIDE)
怎样让VB编写的程序打开后不在任务栏显示
设置窗体属性:SHOWINTASKBAR=FALSE就可以不在任务兰显示.要在系统托盘显示图标,必须用API
Public Declare Function Shell_NotifyIcon Lib "shell32.dll" Alias " Shell_NotifyIconA" (ByVal dwMessage As Long, lpData As NOTIFYICONDATA) As Long
Public Type NOTIFYICONDATA
cbSize As Long
hwnd As Long
uID As Long
uFlags As Long
uCallbackMessage As Long
hIcon As Long
szTip As String * 64
End Type
易语言里的API函数是什么意思?请说得通俗易懂……谢谢!*
API是windows系统自带的DLL文件,也称API函数。
就比较像易语言的命令一样。
比如
信息框(内容,格式,标题),是易语言的一个命令。
用API来实现就是
MessageBoxA(父窗口句柄,内容,标题,格式)
当然不能直接输入在易语言的代码编辑器中,必须要先进行申明。
申明的地方就是
插入
窗口1
那里可以看见
DLL命令
。双击DLL命令,
右边的代码编辑当中右键,插入新的DLL命令,然后输入需要申明的什么某某DLL文件,
某某函数,某某参数,然后在易语言窗口代码中就可以使用了。
为什么要使用API函数呢?因为在编程中,易语言因为功能不足非常苦恼,调用API来弥补易语言的不足是程序员经常使用的方法,也是必须学会的。
实例:
~~~~~~~~~以下为DLL命令代码区,复制即可~~~~
.版本
2
.DLL命令
API信息框,
,
,
"MessageBoxA"
.参数
窗口句柄,
整数型
.参数
内容,
文本型
.参数
标题,
文本型
.参数
格式,
整数型
~~~~~~~~~~~~~~~~然后再窗口代码区输入~~~~~~~~~
API信息框
(_启动窗口.取窗口句柄
(),
“其实API很简单”,
“123”,
0)
易语言API有什么作用或功能?简单的介绍完整点!
API 即 Application Programming Interface .应用程序编程接口,是WINDOWS提供给应用程序开发者的一系列接口支持。
程序开发者可以在不处理(甚至不需要了解)过于底层内容的情况下,高效开发出自己的程序。
例如:ShowWindow()这个函数(存储于动态链接库USER32.dll里)用于显示一个窗口,你只需要提供这个函数相应的窗口参数即可,而不需要你自己写过多的处理代码,如画出窗体,分配资源,驱动显卡在显示器上显示出来等等。
WINDOWS API 可参考程序员手册或API手册之类的书籍,常用的记住些就可以了,其它的现用现查。
大概有几千个函数,分部在WINDOWS和SYSTEM32目录的动态链接库里。
WINDOWS API在各种语言中很方便地调用。如:VB C++ Delphi Java 易语言等等(只要支持调用动态链接库的语言,如果这个都支持不了,那可以不用去学了).
易语言怎么在窗口里打开网页
易语言在窗口里打开步骤如下:1,首先创建一个新的窗口程序。然后添加超级模块。2,在新窗口程序中添加一个编辑框和一个按钮。编辑框1和按钮1。3,双击按钮1并编写代码:执行文件(“ http://www.baidu.com”)。4,这样,当按下按钮时,将打开百度网页,但是如果您需要打开输入到编辑框的网页,则用编辑框替换“ http://www.baidu.com” 1个内容。 。5,如果需要在编写的程序窗口中打开它而不是调用浏览器,请执行以下操作:工具---支持库配置----添加超文本浏览组件,然后添加编辑框和按钮,然后添加扩展组件。 [超文本浏览框]。6, 再次双击按钮。编写代码:超文本浏览框1.跳(编辑框1.内容,,)按下按钮1时,将跳至在编辑框1中输入的网站。
易语言怎么在窗口里打开网页
易语言在窗口里打开步骤如下:1,首先创建一个新的窗口程序。然后添加超级模块。2,在新窗口程序中添加一个编辑框和一个按钮。编辑框1和按钮1。3,双击按钮1并编写代码:执行文件(“ http://www.baidu.com”)。4,这样,当按下按钮时,将打开百度网页,但是如果您需要打开输入到编辑框的网页,则用编辑框替换“ http://www.baidu.com” 1个内容。 。5,如果需要在编写的程序窗口中打开它而不是调用浏览器,请执行以下操作:工具---支持库配置----添加超文本浏览组件,然后添加编辑框和按钮,然后添加扩展组件。 [超文本浏览框]。6, 再次双击按钮。编写代码:超文本浏览框1.跳(编辑框1.内容,,)按下按钮1时,将跳至在编辑框1中输入的网站。