如何让VB生成的工程最小化后在通知区域而任务栏不显示?

作者&投稿:怀眉 (若有异议请与网页底部的电邮联系)
新手应该学习什么编程语言?~

编程语言较多常用的有c,c++,java,c#,perl,Delphi等,我建议按Python->C++ 这个顺序学,
基本上学通这两种语言就够用了,最好在了解一下汇编和c就更好了。
python是一种脚本语言,简单易学,可跨平台运行(windows,linux,部分手机等),配合第三方库可以实现许多常用功能,例如建站,谷歌的搜索引擎就是用它开发的。
c++是经典的编程语言就不多说了。将python与c++结合起来编程威力强大。
但不知是否可以完全代替java等语言呢?有待检验。其他语言应该也有其各自优点和用途,只是编程语言很多,并且想真正学通一种语言很费时间,如果 将所有语言学会是不可能的,即使全部学会的话,真正应用起来大概只需一两种语言足以。
因此建议挑一两种常用且功能强大覆盖范围广的语言即可。


3个问题才给这么点分?呵呵……
1、VB如何定义字符数组——Dim S() As String
2、如何自定义VB生成工程图标——在启动的那个窗口设置属性ICON即可

如何让VB生成的工程最小化后在通知区域而任务栏不显示,要用到API函数。
在模块中写下面代码,然后调用这几个函数就可以了。
'系统托盘
Public OldWindowProc As Long
Public TheForm As Form
Public TheMenu As Menu
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 SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Declare Function Shell_NotifyIcon Lib "shell32.dll" Alias "Shell_NotifyIconA" (ByVal dwMessage As Long, lpData As NOTIFYICONDATA) As Long
Public Const WM_USER = &H400
Public Const WM_LBUTTONUP = &H202
Public Const WM_MBUTTONUP = &H208
Public Const WM_RBUTTONUP = &H205
Public Const TRAY_CALLBACK = (WM_USER + 1001&)
Public Const GWL_WNDPROC = (-4)
Public Const GWL_USERDATA = (-21)
Public Const NIF_ICON = &H2
Public Const NIF_TIP = &H4
Public Const NIM_ADD = &H0
Public Const NIF_MESSAGE = &H1
Public Const NIM_MODIFY = &H1
Public Const NIM_DELETE = &H2

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
Private TheData As NOTIFYICONDATA

'系统托盘处理过程
' 捕获托盘动作
Public Function NewWindowProc(ByVal hWnd As Long, ByVal Msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
If Msg = TRAY_CALLBACK Then
If lParam = WM_LBUTTONUP Then
If TheForm.WindowState = vbMinimized Then
TheForm.WindowState = vbNormal
End If
TheForm.Show
Exit Function
End If
If lParam = WM_RBUTTONUP Then
TheForm.PopupMenu TheForm.mnu_File
Exit Function
End If
End If
NewWindowProc = CallWindowProc(OldWindowProc, hWnd, Msg, wParam, lParam)
End Function

' 添加托盘图标
Public Sub AddToTray(frm As Form, Optional mnu As Menu)
Set TheForm = frm
Set TheMenu = mnu
OldWindowProc = SetWindowLong(frm.hWnd, GWL_WNDPROC, AddressOf NewWindowProc)
With TheData
.uID = 0
.hWnd = frm.hWnd
.cbSize = Len(TheData)
.hIcon = frm.Icon.Handle
.uFlags = NIF_ICON
.uCallbackMessage = TRAY_CALLBACK
.uFlags = .uFlags Or NIF_MESSAGE
.cbSize = Len(TheData)
End With
Shell_NotifyIcon NIM_ADD, TheData
End Sub

' 移除托盘图标
Public Sub RemoveFromTray()
With TheData
.uFlags = 0
End With
Shell_NotifyIcon NIM_DELETE, TheData
SetWindowLong TheForm.hWnd, GWL_WNDPROC, OldWindowProc
End Sub

' 设置托盘显示的文字
Public Sub SetTrayTip(tip As String)
With TheData
.szTip = tip & vbNullChar
.uFlags = NIF_TIP
End With
Shell_NotifyIcon NIM_MODIFY, TheData
End Sub

-------------------------------------
1、VB如何定义字符数组?
dim X(标界) as [类型:integer / string…… ]
Public X(标界) as [类型:integer / string…… ]
private X(标界) as [类型:integer / string…… ]
例如: dim a(1) as integer
a(1) = "test1"
a(0) = "Test0"

PRIVATE v(3) as double
v(1) = "%"
v(0) = "!"
v(2) = &"

备:想用什么就用什么。
-------------------------------------
2、如何自定义VB生成工程图标?
窗体属性的ICON就可以。要是使用exe/dll文件请用:RESHACKER
-------------------------------------
3.如何让VB生成的工程最小化后在通知区域而任务栏不显示?

代码如下:(无菜单)
Option Explicit
Private Declare Function GetMenu Lib "user32" (ByVal hwnd As Long) As Long
Private Declare Function GetSubMenu Lib "user32" (ByVal hMenu As Long, ByVal nPos As Long) As Long
Private Declare Function GetMenuItemID Lib "user32" (ByVal hMenu As Long, ByVal nPos As Long) As Long
Private Declare Function SetMenuItemBitmaps Lib "user32" (ByVal hMenu As Long, ByVal nPosition As Long, ByVal wFlags As Long, ByVal hBitmapUnchecked As Long, ByVal hBitmapChecked As Long) As Long
Private Declare Function Shell_NotifyIcon Lib "shell32.dll" Alias "Shell_NotifyIconA" (ByVal dwMessage As Long, lpData As NOTIFYICONDATA) As Long

Private Const MAX_TOOLTIP As Integer = 64
Private Const NIF_ICON = &H2
Private Const NIF_MESSAGE = &H1
Private Const NIF_TIP = &H4
Private Const NIM_ADD = &H0
Private Const NIM_DELETE = &H2
Private Const WM_MOUSEMOVE = &H200
Private Const WM_LBUTTONUP = &H202
Private Const WM_RBUTTONUP = &H205

Private Type NOTIFYICONDATA
cbSize As Long
hwnd As Long
uID As Long
uFlags As Long
uCallbackMessage As Long
hIcon As Long
szTip As String * MAX_TOOLTIP
End Type

Private Const MF_bitmap = &H4&
Private nfIconData As NOTIFYICONDATA

Private Sub Sys_Tray()
Dim Mnu_Hwnd As Long
Dim Mnu_Id As Long
Dim i As Long
nfIconData.hwnd = Me.hwnd
nfIconData.uID = Me.Icon
nfIconData.uFlags = NIF_ICON Or NIF_MESSAGE Or NIF_TIP
nfIconData.uCallbackMessage = WM_MOUSEMOVE
nfIconData.hIcon = Me.Icon.Handle
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''
nfIconData.szTip = "改成你想要的文字" & vbNullChar
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''
nfIconData.cbSize = Len(nfIconData)
Call Shell_NotifyIcon(NIM_ADD, nfIconData)
End Sub
Private Sub Form_Unload(Cancel As Integer)
Call Shell_NotifyIcon(NIM_DELETE, nfIconData)
End Sub
Private Sub Form_Load()
Sys_Tray
With Me
.Visible = False
End With
End Sub

------------------------------
如何添加菜单????????
1.请添加菜单在“菜单编辑器”中添加。
然后FORM _MouseMove 事件中,添加如下代码:
‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘
Dim lMsg As Single
lMsg = x / Screen.TwipsPerPixelX
If lMsg = WM_RBUTTONUP Then
MyTrayMnu.Visible = True
Me.PopupMenu 需要的右键菜单(就是菜单)
End If
‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘

然后: 在菜单代码中添加如下代码:

On Error Resume Next
Me.Show

‘’‘’‘’‘’‘’‘’‘’‘’‘’‘’‘

------------------------------------------
例子:
有一个: TaryMnu的主菜单
TaryMnu有“显示”/“隐藏“ 两个按钮:
就改成:
Dim lMsg As Single
lMsg = x / Screen.TwipsPerPixelX
If lMsg = WM_RBUTTONUP Then
TaryMnu.Visible = True
Me.PopupMenu TaryMnu
End If
------------------------------------



VB6.0不能生成工程的吗>?
有一部分 精简的VB6.0 是不能生成的因为把该部分功能给精简了 你可以下个企业版的 地址是 http:\/\/zyjy.zjxxgc.net\/UploadSoft\/Visual%20Basic%206.0%BC%F2%CC%E5%D6%D0%CE%C4%C6%F3%D2%B5%B0%E6.rar 当然你也可以试一下这个迷你版的可以生成的我试了http:\/\/d56.v.iask.com\/fs\/...

如何让VB生成文件在同一目录下
先把你的工程文件保存在一个文件夹中,然后退出,再重新打开这个工程,这时要保存的文件只要不加路径,就默认保存在工程所在的文件夹中。

如何将vb源码生成应用程序?
如果你没有VB,请下载一个VB精简版,安装一下 然后双击后缀是.vbp的文件,点文件-生成工程1.exe

用VB6.0精简版如何编辑出随机抽名的“工程”?
Private Sub Command1_Click()Randomize Dim a(20) As String '把这里定义成你班级的人数 Dim n As Integer: n = FreeFile Open "E:\\学生姓名.txt" For Input As n '学生姓名里输入你班级的人名,每人一行 For i = 0 To UBound(a) - 1 Line Input #n, a(i)Next MsgBox "被命...

vb在生成EXE文件时如何更改默认的图标
1、在VB 6.0中,打开工程exe,选择form窗口 2、选择form可以看到左侧属性表中如图,选择Icon 3、双击Icon后,选择图标,注意图标格式为ico,可以在网上下载。也可以自己转格式。4、插入后,可以看到,窗口的图标已经改变了。5、当导出工程后就可以看到如下图。

VB程序怎么做出以下这些工程 给出步奏
三个滚动条设置:min:0;max:255;smallchange:5;largechange:20 text1---text3用来显示你所选择单原色,并在相应的label中显示出数值。Text4用来显示混合以后的颜色。第二步:编写程序代码如下:Private Sub VScroll1_Change()Label1.Caption = "红色:" Str(VScroll1.Value)Text1.BackColor = ...

VB如何编译
VB编译方法:编码完成后,点击文件——生成工程,即可。VB是解释性的编程语言,安装的VB在写好代码了,以后 按F5也会自动处理的。Visual Basic是一种由 Microsoft 公司开发的结构化的、模块化的、面向对象的、包含协助开发环境的事件驱动为机制的可视化程序设计语言。从任何标准来说,VB都是世界上使用人数...

200分!visual basic创建一个工程有那些主要步骤,其作用是什么?_百度...
VB的工程主要有:标准的exe、ActiveX EXE、ActiveX Dll、ActiveX ocx控件、ActiveX 文档Dll、DHTML 应用程序等等,我们现在一般都是“创建标准的EXE程序”在你打开VB软件后,启动界面中会出现你标准创建工程的选项,点击:“标准 EXE”即可进入设计编辑界面。刚刚打开的界面是一个VB默认的标准界面,这个界面...

vb在生成EXE文件时如何更改默认的图标
1、在VB 6.0中,打开工程exe,选择form窗口 2、选择form可以看到左侧属性表中如图,选择Icon 3、双击Icon后,选择图标,注意图标格式为ico,可以在网上下载。也可以自己转格式。4、插入后,可以看到,窗口的图标已经改变了。5、当导出工程后就可以看到如下图。

vb高手来一下
在菜单栏中,选择【文件】|【生成(工程名).exe...】,随后会弹出一个“生成工程”对话框,如图:若没有特殊要求,则可以直接在其中选择保存路径并设置文件名,然后编译;也可以单击对话框右下角的“选项”按钮,随后弹出工程属性对话框,可以设置更多编译信息(编小程序就用不着了),如图:生成 选项...

安化县13443101562: 用VB实现窗口最小化到通知栏?
卜宽醋酸: '添加一个按钮command1,代码区加入如下代码 Const MAX_TOOLTIP As Integer = 64 Const NIF_ICON = &H2 Const NIF_MESSAGE = &H1 Const NIF_TIP = &H4 Const NIM_ADD = &H0 Const NIM_DELETE = &H2 Const WM_MOUSEMOVE ...

安化县13443101562: VB程序最小化到后台
卜宽醋酸: VS2005有控件的,直接调用就可以了啊.

安化县13443101562: 如何在vb中定义一个热键,使得当一个应用程序的窗口最小化后,可以通过热键来唤醒它 ? -
卜宽醋酸: 你这个功能其实就是很多影音播放器的老板键功能,给你一段代码参考一下,看看有没有帮助'--------------------------------------------------------------------------------------- ' Author ' Purpose :vb实现老板键的简单功能 '---------------------------------------------------------...

安化县13443101562: VB写的软件怎么最小化到任务栏?
卜宽醋酸: 新建工程添加COMMAND控件 (所有属性都不用做改动) 添加如下代码Private Sub Command1_Click()Form1.WindowState = 1End Sub 单击按钮后 软件会最小化到任务栏 回答完毕谢谢!

安化县13443101562: vb中,如何让程序运行后最小化时在右下角 -
卜宽醋酸: 楼上说得太复杂了,使用systray可以很简单实现.在窗体添加一个systray部件,然后在窗体上添加一个systray控件,然后再加上简单代码即可.例如,将所添加的systray控件命名为“sty”,在窗体中添加下述代码即可.Private Sub Form_Resize() If WindowState = 1 Then sty.InTray = True Hide Else sty.InTray = False Show End If End Sub

安化县13443101562: 如何让VB程序在通知栏上显示,比如像QQ那样,通知栏在时间那里,也就是右下角 -
卜宽醋酸: 托盘,好像还可以闪动 Option Explicit Private 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 Private Const WM_LBUTTONDOWN ...

安化县13443101562: vb 非活动窗口 激活 并在任务栏提醒 -
卜宽醋酸: Private Declare Function FlashWindow Lib "user32" (ByVal hwnd As Long, ByVal bInvert As Long) As Long Private Sub Command1_Click() FlashWindow Form2.hwnd, 1000 End Sub Private Sub Form_Load() Form2.Show Form2.WindowState = 1 End Sub

安化县13443101562: 如何实现VB编写的程序点击最小化进入托盘区??
卜宽醋酸: Private Sub Form_Resize() If Form1.WindowState = 1 Then 把你写的最小化到托盘区的代码放到这里试一下 End If End Sub

安化县13443101562: vb里怎么设置程序快捷键呼出 最小化 -
卜宽醋酸: 新建一个Timer,Interval=100,Enabled=True,复制下面代码进去: Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer Private Sub Timer1_Timer() If GetAsyncKeyState(vbKeyF1) Then Me.WindowState = 0 If GetAsyncKeyState(vbKeyF2) Then Me.WindowState = 1 End Sub

安化县13443101562: vb怎么使其他程序最小化 -
卜宽醋酸: 调用API函数获取其他程序窗口句柄,再用API函数设置该窗口的的显示状态

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网