1.VB6窗口显示隐藏问题我是这样想的,我新建了一个Command3 爱问
很简单。
1。隐藏窗体 Private Sub Command3_Click() Form1。
hide End Sub 2。注册热键 Dim ret As Long '记录原来的window程序地址 preWinProc = GetWindowLong(Me。
hwnd, GWL_WNDPROC) '用自定义程序代替原来的window程序 ret = SetWindowLong(Me。hwnd, GWL_WNDPROC, AddressOf wndproc) idHotKey = 1 'in the range &h0000 through &hBFFF Modifiers = MOD_CONTROL '辅助键为ctrl uVirtKey1 = vbKeyF12 '注册的热键为Ctrl+F12 '注册热键 ret = RegisterHotKey(Me。
hwnd, idHotKey, Modifiers, uVirtKey1) ———————————————————————————————————— '以下程序放在模块中 Option Explicit Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long 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) As Long Declare Function RegisterHotKey Lib "user32" (ByVal hwnd As Long, ByVal id As Long, ByVal fsModifiers As Long, ByVal vk As Long) As Long Declare Function UnregisterHotKey Lib "user32" (ByVal hwnd As Long, ByVal id As Long) As Long Public Const WM_HOTKEY = &H312 Public Const MOD_ALT = &H1 Public Const MOD_CONTROL = &H2 Public Const MOD_SHIFT = &H4 Public Const GWL_WNDPROC = (-4) Public preWinProc As Long Public Modifiers As Long, uVirtKey1 As Long, idHotKey As Long Private Type taLong ll As Long End Type Private Type t2Int lWord As Integer hword As Integer End Type Public Function wndproc(ByVal hwnd As Long, ByVal Msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long Dim lp As taLong, i2 As t2Int If Msg = WM_HOTKEY Then If wParam = idHotKey Then lp。 ll = lParam LSet i2 = lp If (i2。
lWord = Modifiers) And i2。hword = uVirtKey1 Then Form1。
Visible = Not Form1。 Visible End If End If End If '如果不是热键信息则调用原来的程序 wndproc = CallWindowProc(preWinProc, hwnd, Msg, wParam, lParam) End Function 。
2.如何让VB控制系统的显示隐藏文件
改注册表HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced下
Hidden 设置
1,显示隐藏文件,
2,不显示隐藏文件
ShowSuperHidden 设置
1,显示系统文件
0,不显示系统文件
设置完成后,向所有窗口广播一条WM_SETTINGCHANGE消息就行了
使用到的API函数:
操作注册表用:RegOpenKey,RegSetValueEx,RegCloseKey
发送消息用:SendMessage
3.excel怎么用VB自动隐藏显示
添加一个按钮吧,
选菜单:视图》工具栏》控件工具箱
点左上角的 三角尺+直尺+笔 的图标,进入设计模式
点“命令按钮”(就是刚才按钮的对下3个,一个按钮模样的键)
在工作表某个位置,如a1单元格上画一个长方形,得到按钮。
选“按钮”点右键,在右键菜单中选“查看代码”
在出现的visual basic 编辑器窗口,右边的代码
Private Sub CommandButton1_Click()
End Sub
在上面两行代码的中间粘贴下面的代码:
If Columns("B:D").EntireColumn.Hidden = False Then
Columns("B:D").EntireColumn.Hidden = True
Else
Columns("B:d").EntireColumn.Hidden = False
End If
Range("A2").Select
返回工作表,点“三角尺”按钮,退出设计模式。
点按钮。
OK。
4.VB窗口显示
查到一遍文章,供你参考:******************************************** 使用RegisterHotkey的概念是,它会定义一组或单个按键的组合,不管在哪个程序之中,按下程序窗体有注册的HotKey时,系统会传送WM_HOTKEY 的讯息给待接收该讯息的程序窗体,而该程序窗体接收到WM_HOTKEY时,便可知道有本身Thread所定义的HotKey被按下,於是可以从wParam, lParam来得知是哪一组HotKey被按下,从而执行相应的操作.函数声明的定义如下:RegisterHotKey( ByVal hwnd As Long , //接收自定义热键的窗口的HWND ByVal idHotKey as Long, //id为你自己定义的一个ID值对一个线程来讲其值必需在0x0000 - 0xBFFF范围之内,十进制为0~49151, 对DLL来讲其值必需在0xC000 - 0xFFFF 范围之内,十进制为49152~65535,在同一进程内该值必须唯一参数 fsModifiers指明与热键联合使用按键 ByVal Modifiers As Long, // 指明与热键联合使用按键(ALT,SHIFT,CTR的组合)如不需可置空,可取值为:MOD_ALT, MOD_CONTROL, MOD_WIN, MOD_SHIFT参数,或数字0为无,1为Alt,2为Control,4为Shift,8为Windows ByVal uVirtKey As Long //定主你自定的HOTKEY的虚拟按键码 )WM_HOTKEY 叁数的定义idHotKey = wParam; Modifiers = (UINT) LOWORD(lParam); uVirtKey = (UINT) HIWORD(lParam); 所以了,除了设定RegisterHotkey外,另要使用SubClassing的技巧才会得知HotKey被按下;最后,程序结束前要使用UnRegisterHotkey将HotKey的定义取消掉。
切记,一定要有用有还!!!以下程序功能是:不管在哪个程序中,只要按下ALT-SHIFT-G 便执行NotePad。'以下在.BasOption ExplicitDeclare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" _(ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As LongDeclare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" _(ByVal hwnd As Long, ByVal nIndex As Long) As LongDeclare 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) As LongDeclare Function RegisterHotKey Lib "user32" (ByVal hwnd As Long, ByVal id As Long, ByVal fsModifiers As Long, ByVal vk As Long) As LongDeclare Function UnregisterHotKey Lib "user32" (ByVal hwnd As Long, ByVal id As Long) As LongPublic Const WM_HOTKEY = &H312Public Const MOD_ALT = &H1Public Const MOD_CONTROL = &H2Public Const MOD_SHIFT = &H4Public Const GWL_WNDPROC = (-4)Public preWinProc As LongPublic Modifiers As Long, uVirtKey As Long, idHotKey As LongPrivate Type taLong ll As LongEnd TypePrivate Type t2Int lWord As Integer hword As IntegerEnd TypePublic Function wndproc(ByVal hwnd As Long, ByVal Msg As Long, _ ByVal wParam As Long, ByVal lParam As Long) As LongIf Msg = WM_HOTKEY Then If wParam = idHotKey Then Dim lp As taLong, i2 As t2Int lp.ll = lParam LSet i2 = lp If (i2.lWord = Modifiers) And i2.hword = uVirtKey Then '此处为接收到热键后需执行的操作 End If End IfEnd If'将之送往原来的Window Procedurewndproc = CallWindowProc(preWinProc, hwnd, Msg, wParam, lParam)End Function'以下在 FormSub Form_Load()Dim ret As LongpreWinProc = GetWindowLong(Me.hwnd, GWL_WNDPROC)ret = SetWindowLong(Me.hwnd, GWL_WNDPROC, AddressOf wndproc)idHotKey = 1 'in the range &h0000 through &hBFFFModifiers = MOD_ALT + MOD_SHIFTuVirtKey = vbKeyGret = RegisterHotKey(Me.hwnd, idHotKey, Modifiers, uVirtKey)End SubPrivate Sub Form_Unload(Cancel As Integer)Dim ret As Long'取消Message的截取,而使之又只送往原来的Window Procedureret = SetWindowLong(Me.hwnd, GWL_WNDPROC, preWinProc)Call UnregisterHotKey(Me.hwnd, uVirtKey)End Sub。
5.VB这么让添加的文件隐藏或者显现
我们经常见到一些软件,如Office系列,visual家族等等,他们的打开菜单里常常记载了上次所进行的任务,这样就方便了我们的操作,实际我们也能用VB实现这一功能,现在以常见的含有最多五个添加值为例给大家演示这一功能,并且此程序不需要具api 函数调用,直接使用vb自身携带的函数即可,主要使用getsetting,savesetting和 deletesetting函数,具体步骤如下: ---- 1.打开vb,选择标准窗口,在工具菜单里选择编辑菜单器,各项设置如下: ———————————————————————— caption name index visible indentation ——————————————————————— file mnufile 空 true 0 Open mnuopen 空 true 1 - mnudesh 空 true 1 空 mnufilename 1 false 1 空 mnufilename 2 false 1 空 mnufilename 3 false 1 空 mnufilename 4 false 1 空 mnufilename 5 false 1 abc mnufilename 6 false 1 ---- (注:一定要在最后一项的caption设一虚值,这样做的原因是为了后面在菜单项未满时添加文件名做判断,并没有实际意义) ---- 2.在窗体中加载一对话框,对话框的name为commongdialog1 ---- 3.源程序如下: ---- 在通用里声明: Const k1 = "记忆菜单" Const k2 = "文件名" Function addfilename(filename)'添加文件名 DIM I,G AS INTEGER For I = 5 To 1 Step -1'从第五项开始向第一项 If mnufilename(1).Caption < > filename And mnufilename(2).Caption < > filename And mnufilename(3).Caption < > filename And mnufilename(4).Caption < > filename And mnufilename(5).Caption < > filename Then '判断所选的文件是否已存在 If mnufilename(I).Caption = "" And mnufilename(I 1).Caption < > "" Then '此处初使化菜单,利用了虚设菜单项 SaveSetting k1, k2, I, filename'在注册表里保存 Else If mnufilename(1).Caption < > "" Then '表明菜单已满 DeleteSetting k1, k2, 5 '按先入先出规则,删除最后一项 For G = 4 To 1 Step -1 '一至四项依次后移 n = GetSetting(k1, k2, G)'从注册表里取其值 SaveSetting k1, k2, (G 1), n'顺延到下一项 Next SaveSetting k1, k2, 1, filename Exit Function End If End If End If Next End Function Function display()'显现各项文件名 DIM I AS INTEGER For I = 5 To 1 Step -1 l = GetSetting(k1, k2, I) If l < > "" Then mnufilename(I).Visible = True mnufilename(I).Caption = l Else mnufilename(I).Visible = False mnufilename(I).Caption = "" End If Next End Function Private Sub Form_Load() Call display End Sub Private Sub mnuopen_Cli
6.VB调用其它程序,如何隐藏任务栏,只显示内容
楼上的全屏显示其实没有用处,因为按一下Esc键就退出全屏了,然后就可以编辑了。
你的要求超出VB的能力,我给你支个招,事先把你想要展示的Word文档、Excel表格、PDF文档、CAD图转换成图片,然后就简单了,在VB中显示图片有很多方法。转换图片,也有简单方法,即采用打印驱动的方式将文档“打印”成图片,这样就看不到软件的外观边框菜单这些。
安装Microsoft Office时会同时安装Microsoft Office Document Image Writer,这个就是Office带的虚拟打印机。打印时选择这个虚拟打印机,输入一个文件名保存即可。
保存的图片格式是tif。
转载请注明出处51数据库 » vb隐藏word窗口显示