急急急!!! VB6升级到VB.net后,下面的API有没有替换的vb.NET方法?

vivan19781111 2010-12-23 04:37:49
Public Declare Function AttachThreadInput Lib "user32" (ByVal idAttach As Long, ByVal idAttachTo As Long, ByVal fAttach As Long) As Long
Public Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Public Declare Function FlashWindowEx Lib "user32.dll" (pfwi As FLASHWINFO) As Long
Public Declare Function GetExitCodeProcess Lib "kernel32" (ByVal PROCESS As Long, lpExitCode As Long) As Long
Public Declare Function GetForegroundWindow Lib "user32" () As Long
Declare Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Long, ByVal lpFileName As String) As Long
Public Declare Function GetWindowsDirectory Lib "kernel32" Alias "GetWindowsDirectoryA" (ByVal lpBuffer As String, ByVal nSize As Long) As Long
Public Declare Function GetWindowThreadProcessId Lib "user32" (ByVal hWnd As Long, ByRef lpdwProcessId As Long) As Long
Public Declare Function IsIconic Lib "user32" (ByVal hWnd As Long) As Long
Public Declare Function OpenIcon Lib "user32" (ByVal hWnd As Long) As Long
Public Declare Function OpenProcess Lib "kernel32.dll" (ByVal dwAccess As Long, ByVal fInherit As Integer, ByVal hObject As Long) As Long
Public Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Public Declare Function SetForegroundWindow Lib "user32" (ByVal hWnd As Long) As Long
Public Declare Function SetWindowPos Lib "user32" (ByVal hWnd As Long, ByVal hWndInsertAfter As Long, ByVal X As Long, ByVal Y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
Public Declare Function SHBrowseForFolder Lib "shell32.dll" (lpBrowseInfo As BROWSEINFO) As Long
Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hWnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
Declare Function SHGetFolderPath Lib "ShFolder.dll" Alias "SHGetFolderPathA" (ByVal hwndOwner As Long, ByVal nFolder As Long, ByVal hToken As Long, ByVal dwFlags As Long, ByVal pszPath As String) As Long
Public Declare Function SHGetPathFromIDList Lib "shell32.dll" (ByVal pidl As Long, ByVal pszPath As String) As Long
Public Declare Function SystemParametersInfo Lib "user32" Alias "SystemParametersInfoA" (ByVal uiAction As Long, ByVal uiParam As Long, ByRef pvParam As Long, ByVal fWinIni As Long) As Long
Public Declare Function TerminateProcess Lib "kernel32" (ByVal hProcess As Long, ByVal uExitCode As Long) As Long
Declare Function WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpString As Any, ByVal lpFileName As String) As Long
...全文
189 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
vivan19781111 2010-12-30
  • 打赏
  • 举报
回复
大家都休假了吗?没有人回答啊
Teng_s2000 2010-12-29
  • 打赏
  • 举报
回复
VB.NET算是VB的升级版吗?
vivan19781111 2010-12-29
  • 打赏
  • 举报
回复
有没有人知道啊?
vivan19781111 2010-12-28
  • 打赏
  • 举报
回复
Public Declare Function GetExitCodeProcess Lib "kernel32" (ByVal PROCESS As Long, lpExitCode As Long) As Long
Public Declare Function OpenProcess Lib "kernel32.dll" (ByVal dwAccess As Long, ByVal fInherit As Integer, ByVal hObject As Long) As Long
Public Declare Function TerminateProcess Lib "kernel32" (ByVal hProcess As Long, ByVal uExitCode As Long) As Long
Public Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
这几个有没有替换得方法?
思考 2010-12-24
  • 打赏
  • 举报
回复
所有的 as long 都改成 as integer
vivan19781111 2010-12-24
  • 打赏
  • 举报
回复
还有没有更详细点的
xingyuebuyu 2010-12-23
  • 打赏
  • 举报
回复
可以继续使用API的,你将声明中用到的Long全部换为.net中的Integer.
Any替换为实际调用时传入的类型,struct全部改为vb.net的structure
如果调用有问题继续改声明
wuyq11 2010-12-23
  • 打赏
  • 举报
回复
可以继续使用
Public Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Integer

兔子-顾问 2010-12-23
  • 打赏
  • 举报
回复
你可以继续用你的api方式,或用.net framework重新实现。思路可能不会完全一样,所以不要找api对应的方法了。
QQRN 2010-12-23
  • 打赏
  • 举报
回复
不行就直接用API算了
zgke 2010-12-23
  • 打赏
  • 举报
回复
AttachThreadInput 对应的是Control.CheckForIllegalCrossThreadCalls ? 不知道没用过
CloseHandle 一般需要你自己释放的都有Dispose方法
FindWindow 对自己程序来说 Application.OpenForms 对以外的程序....还是这个把
FlashWindowEx 闪烁哪个? 这个可以通过消息来解决的.
GetExitCodeProcess System.Diagnostics.Process.ExitCode
GetForegroundWindow 自己的窗体就是this.Focused属性 对以外的还是他
GetPrivateProfileString 我还是用这个
GetWindowsDirectory System.IO 比你想的全的多
GetWindowThreadProcessId 这个不知道..还用这个把
IsIconic Form.WindowState
OpenIcon 看System.Drawing.Icon
......太多了

16,554

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧