barriers / 阅读 / 详情

WIN32创建窗口 遇到的问题,关于UNICODE

2023-06-26 11:49:30
共2条回复
余辉

MessageBox(hwnd,(LPCWSTR)szChar,TEXT("weixin2003"),0);这句有错,编译不过。

北境漫步

char szChar[20];

你这个szChar又不是宽字符,wchat_t szChar[20];这个是啊。

要嘛这样

TCHAR szChar[20];

就算是这样,你前面还要定义这个宏啊,不然,你的_TEXT就没意义

#define UNICODE

#define _UNICODE

sprintf((LPSTR)szChar,"char is %d",wParam);//这句话是什么意思???

你还是学好C语言再来弄这些没用的东西吧,不要太心急了。

要是这么心急,不如学VB或者.NET,直接新建一个窗口,放几个按钮,不是很简单。为什么要这么费劲画按钮呢,又不是叫你学书法,学画画。。

悲哀啊。。。

相关推荐

猎头highcon是什么意思

是headcount吧,简称坑,就是预计招聘人头数量
2023-06-26 05:04:352

VC++/MFC 中 HICON 声明的变量什么意思??

图标 就是加载工具栏呗工具栏的那个图标 ico去看下资源那个文件夹就知道了
2023-06-26 05:04:505

关于怎样将HICON转为HBITMAP或CBitmap?或截取HICON的一部分

2023-06-26 05:05:051

HICON/惠康 冰箱怎么样,冰箱什么牌子好

惠康冰箱是海尔分支,这个品牌的冰箱一般般,抽检不合格,上过工商黑榜。冰箱最好选大牌子,比如美的,海尔,TCL等,还有一些国外牌子,价格比较高。
2023-06-26 05:05:152

hicon制冰机怎么清洗

制冰机冰块不掉下来是什么情况
2023-06-26 05:05:242

请教如果判断一个HICON句柄的有效性

判断 句柄 handle 的有效性方法有两种:1. hwnd==INVALID_HANDLE_VALUE 获得句柄并判断它们是否相等就可以了2. 如果想验证HANDLE有效性可以使用GetHandleInformation或者DuplicateHandle等函数 这两个函数复制或者查询非法Handle时,将返回错误
2023-06-26 05:05:311

hicon冰箱不制冷是什么原因

制冷系统泄漏,制冷剂全跑光了,压缩机虽运转,但系统中无制冷剂蒸发吸热,所以电冰箱内温度不下降。可以检查下制冷剂是否缺乏。因为这是制冷必须用的物质。
2023-06-26 05:05:402

求助一个关于C++的类型HICON

typedef void *HANDLE; typedef HANDLE HICON
2023-06-26 05:05:503

hichicon是啥电容?

是nichicon吧,那是日本电解电容三大企业之一,产品质量不错,比起外面的电容要贵几倍,大概卖5块左右。
2023-06-26 05:05:571

hicon制冰机使用使用说明书制冰慢

【上海巴玖】提示您:制冰机制冰慢,主要有两个原因:一是散热不好 二是制冷剂少了。
2023-06-26 05:06:061

获取窗口的图标HICON之后如何把图标显示在listctrl中? vc

请看这个,一样的问题http://zhidao.baidu.com/question/50255887.html
2023-06-26 05:06:253

MFC中,如何将一个HICON格式的图片转换成一个CBitmap类型的图片??急求!!!!!!!!

在资源视图中添加资源,然后选择Bitmap,点导入,就可以了啊!其实一般HICON的图片都很小的,都是用来做图标的,不知道你把它转换成位图干什么!
2023-06-26 05:06:321

MFC 现实动态添加HICON图标,求思路或者代码

用函数LoadImage从文件加载ico文件。
2023-06-26 05:06:392

招聘时人力资源说起职位需求时的英文怎么说?

head count
2023-06-26 05:06:481

shell开发问题:没有MFC情况下如何如何将ICO的ID读取成HICON

MAKEINTRESOURCE(资源里的图标ID)
2023-06-26 05:06:551

Win32Api中 cbClsExtra中的cb是哪些单词的缩写? hIcon和hCursor

cb:count bytes字节数的意思。cbClsExtra 单位是byte,返回是int ,因此缩写最前面就是字节总数cb。hIcon,hCursor 可以为NULL
2023-06-26 05:07:032

wndclass.hIcon=LoadIcon(NUll,IDI_ERROR);其中的IDI ERROR是什么意思啊

图标资源的ID号
2023-06-26 05:07:112

m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME)是什么意思?

在资源视图里展开icon看到,这个标志iDR_MAiNFRAME,双击它就是一个图标“MFC”;注意这个函数就是获取这个icon的句柄,以便以后用Drawicon(句柄),把它画在标题栏
2023-06-26 05:07:181

制冰机哪个牌子质量好

如下:1、惠康(HICON)大家并不陌生,是国内制冰行业中的佼佼者,大家在去逛商店时也时常能看到惠康冰柜的存在。其中沃拓莱是惠康的制冰机子品牌,质量与惠康持平。2、澳柯玛(AUGCMA)澳柯玛是国内制冰行业销量第一的牌子,它成立于1987,具有历史沉淀的澳柯玛,它的售价会略高于其他牌子的冰柜,在品质和售后这块都有保障,预算允许,选择它不会出错。3、星星(XINGX)星星也是国内知名老牌子了,它的重心侧重在商业制冰机,家用制冰机也有,但是款式比较少。不过它的家用制冰机是性价比最高的,想要性价比高的家用制冰机选择星星的就对啦!4、奥克斯(AUX)始创于1986年的奥克斯集团,产业涵盖家电、电力设备、等领域,连续多年位列中国企业500强。它的家用制冰机性价比也比较高。5、万利多马尼托瓦公司,马尼托瓦(中国)餐饮设备有限公司,制冰机十大品牌,1902年成立于美国,世界制冰机行业领袖,世界制冰机的领导品牌,美国最大的商用制冰机生产厂家之一,世界餐饮设备的主要供应商。
2023-06-26 05:07:271

有一个关于C++如何改变EXE的图标的帖子,可是里面的的参数是要填什么?

放在OnCreate函数中,hIcon要定义成类的成员变量,就行
2023-06-26 05:07:421

简单的用c语言写一个计算器程式,加减乘除能用就好

简单的用c语言写一个计算器程式,加减乘除能用就好 #include"stdio.h" void main() { float a,b,c; char e; printf("input a,e,b ");/*输入两个数和符号,例如3+8*/ scanf("%f%c%f",&a,&e,&b); switch(e) { case "+":c=a+b;break; case "-":c=a-b;break; case "*":c=a*b;break; case "/": if(b==0.0) printf("error "); else c=a/b;break; } printf("%f%c%f=%f",a,e,b,c); } 如何用vc++编写一个简单的(只有加减乘除)计算器程式? 先设定介面如下 加法按钮程式码 void CMy03Dlg::OnBnClickedButton1() { TODO:在此新增控制元件通知处理程式程式码 UpdateData(TRUE); m_Nub3=m_Nub1+m_Nub2; UpdateData(FALSE); } 减法按钮程式码 void CMy03Dlg::OnBnClickedButton2() { TODO:在此新增控制元件通知处理程式程式码 UpdateData(TRUE); m_Nub3=m_Nub1-m_Nub2; UpdateData(FALSE); } 乘法按钮程式码 void CMy03Dlg::OnBnClickedButton3() { TODO:在此新增控制元件通知处理程式程式码 UpdateData(TRUE); m_Nub3=m_Nub1*m_Nub2; UpdateData(FALSE); } 除法按钮程式码 void CMy03Dlg::OnBnClickedButton4() { TODO:在此新增控制元件通知处理程式程式码 UpdateData(TRUE); if(m_Nub2!=0) m_Nub3=m_Nub1 / m_Nub2; else AfxMessageBox("被除数不能为0"); UpdateData(FALSE); } 清除按钮程式码 void CMy03Dlg::OnBnClickedButton5() { TODO:在此新增控制元件通知处理程式程式码 UpdateData(TRUE); m_Nub3=0; m_Nub1=0; m_Nub2=0; UpdateData(FALSE); } 结束按钮程式码 void CMy03Dlg::OnBnClickedButton6() { TODO:在此新增控制元件通知处理程式程式码 CDialog::OnOK(); } 如果只允许在输入框中输入资料应该怎样处理? 制作托盘程式 目的:在工作列中建立一个图示,使该程式永远驻留在记忆体中。例如邮件检查程式可以作为驻留程式,一旦有邮件来了,就可以接收邮件。 Shell_NotifyIcon函式传送讯息来增加、删除、修改工作列的图示 BOOL TrayMessage(HWND hWnd, DWORD dwMessage, HICON hIcon, PSTR pszTip) { BOOL res; NOTIFYICONDATA tnd; tnd.cbSize = sizeof(NOTIFYICONDATA); tnd.hWnd = hWnd; tnd.uID = IDI_ICON1; tnd.uFlags = NIF_MESSAGE|NIF_ICON|NIF_TIP; tnd.uCallbackMessage = WM_MY_TRAY_NOTIFICATION; tnd.hIcon = hIcon; lstrcpyn(tnd.szTip, pszTip, sizeof(tnd.szTip)); res = Shell_NotifyIcon(dwMessage, &tnd); dwMessage为NIM_ADD从工作列中新增图示、NIM_DELETE从工作列中删除图示、NIM_MODIFY改变工作列中图示 if (hIcon) DestroyIcon(hIcon); return res; } 定义一个回拨讯息:WM_MY_TRAY_NOTIFICATION 在DLG的CPP档案中, #define WM_MY_TRAY_NOTIFICATION WM_USER+100 为对话方块新增讯息对映ON_MESSAGE(WM_MY_TRAY_NOTIFICATION,OnTrayNotification) 在DLG的标头档案中应该有 public: long m_Nub1; float m_Nub3; CBitmapButton Button; afx_msg void OnBnClickedButton1(); long m_Nub2; afx_msg void OnBnClickedButton2(); afx_msg void OnBnClickedButton4(); afx_msg void OnBnClickedButton5(); afx_msg void OnBnClickedButton3(); afx_msg void OnBnClickedButton6(); afx_msg void OnBnClickedButton7(); afx_msg LRESULT OnTrayNotification(WPARAM wparam, LPARAM lparam); 在DLG的CPP档案中应该有 BEGIN_MESSAGE_MAP(CMailCheckDlg, CDialog) …… ON_MESSAGE(WM_MY_TRAY_NOTIFICATION,OnTrayNotification) …… END_MESSAGE_MAP() 并定义一个回拨讯息函式 LRESULT CMailCheckDlg::OnTrayNotification(WPARAM wparam, LPARAM lparam) { switch (lparam ) { case WM_RBUTTONUP: case WM_LBUTTONDBLCLK:修改不同的按钮处理事件,以观察图示退出效果。 ShowWindow(SW_SHOW); TrayMessage(m_hWnd, NIM_DELETE, NULL, "");从工作列中删除图示 } return 0; } 在对话方块视窗上新增“驻留”按钮,双击按钮新增程式码 void CMailCheckDlg::OnBnClickedButton1() { TODO:在此新增控制元件通知处理程式程式码 下面程式向工作列新增图示 TrayMessage(m_hWnd, NIM_ADD, NULL, "计算器程式"); TrayMessage(m_hWnd, NIM_MODIFY, m_hIcon, "计算器程式"); ShowWindow(SW_HIDE); 用MFC编写一个简单的加减乘除计算器 我有程式,加31782771群 c语言计算器程式设计包含加减乘除简单的函式运算 实用计算器之程式设计 [摘 要]多用计算器的构思及设计程式码 [关键词]多用计算器;设计 数值计算可以说是日常最频繁的工作了,WIN98提供了“计算器”软体供使用者使用,该软体可以处理一般的一步四则运算,例如:3+2、5/3等等,但在日常中使用者经常遇到多步四则运算问题,例如:3+4*5-4/2,45*34/2+18*7等等,那么该个计算器就无法胜任了,作者制作了一个实用的计算器,该计算器新增不少功能:(程式介面如图) 1.可以实现连续的四则运算 2.可以实现输入式子的显示 3.可以方便计算个人所得税 4.滑鼠、键盘均可输入资料 5.操作介面友好 6.击键可发声 构建该个计算器所需研究及解决的核心问题有如下几个:1、连乘求值?2、字元显示 3、键盘输入?4、击键发声?5、个人所得税法规,为了使大家对程式有更一步认识,现将程式码提供给读者参考: *定义阵列及窗体变数 Dim number2(0 To 50) As Double Dim number(0 To 50) As Double Dim z As Integer Dim k As Integer, r As Integer Dim j As Integer Dim str As String *呼叫名为“playsound”的API函式 Private Declare Function PlaySound Lib "winmm.dll" Alias "PlaySoundA" (ByVal lpszName As String, ByVal hModule As Long, ByVal dwFlags As Long) As Long Private Const SND_FILENAME = &H20000? Private Const SND_ASYNC = &H1? Private Const SND_SYNC = &H0 *判断通用过程 Sub pianduan(p As String) r = 0 Dim i As Integer, l As Integer, h As Integer h = 0 i = 1 If InStr(Trim$(p), "*") <> 0 Then k = k + 1 End If If InStr(Trim$(p), "/") <> 0 Then r = r + 1 End If End Sub *连乘通用过程(略) *各按钮事件过程 Private sub Command1_Click(Index As Integer) PlaySound App.Path & "start.wav", 0, SND_SYNC Text1.Text = Text1.Text + Command1(Index).Caption Text2.Text = Text2.Text + Command1(Index).Caption Text1.SetFocus End Sub rivate sub Command10_Click() PlaySound App.Path & "start.wav", 0, SND_SYNC str = Text3.Text End Sub Private sub Command11_Click() PlaySound App.Path & "start.wav", 0, SND_SYNC Text3.Text = str End Sub rivate sub Command2_Click() PlaySound App.Path & "start.wav", 0, SND_SYNC Dim totle As Double Dim n As Integer Call pianduan(Text1.Text) If k >= 1 Or r >= 1 Then Call liancheng(totle) number2(z) = totle If Mid$(Trim$(Text1.Text), 1, 1) = "-" Then number2(z) = -totle End If k = 0: r = 0 Else number2(z) = Val(Text1.Text) End If Text1.Text = "" Text2.Text = Text2 + "+" z = z + 1 Text1.SetFocus End Sub rivate sub Command3_Click() PlaySound App.Path & "start.wav", 0, SND_SYNC Dim totle As Double Dim n As Integer Call pianduan(Text1.Text) If k >= 1 Or r >= 1 Then Call liancheng(totle) number2(z) = totle If Mid$(Trim$(Text1.Text), 1, 1) = "-" Then number2(z) = -totle End If k = 0: r = 0 Else number2(z) = Val(Text1.Text) End If Text1.Text = "" Text2.Text = Text2 + "-" Text1.Text = Text1.Text & "-" z = z + 1 Text1.SetFocus End Sub Private sub Command4_Click() PlaySound App.Path & "start.wav", 0, SND_SYNC Text2.Text = Text2.Text + "*" Text1.Text = Text1.Text + "*" Text1.SetFocus End Sub rivate sub Command5_Click() PlaySound App.Path & "start.wav", 0, SND_SYNC Text2.Text = Text2 + "/" Text1.Text = Text1 + "/" Text1.SetFocus End Sub Private sub Command6_Click() PlaySound App.Path & "sound.wav", 0, SND_SYNC Dim totle As Double Dim n As Integer Call pianduan(Text1.Text) If k >= 1 Or r >= 1 Then Call liancheng(totle) number2(z) = totle If Mid$(Trim$(Text1.Text), 1, 1) = "-" Then number2(z) = -totle End If k = 0: r = 0 Else number2(z) = Val(Text1.Text) End If Text1.Text = "" z = z + 1 Dim dengyu As Double Dim v As Integer For v = 0 To 50 dengyu = dengyu + number2(v) Next v If dengyu < 0 Then Text3.ForeColor = &HFF& Else Text3.ForeColor = &HFF0000 End If Text3.Text = dengyu Text1.SetFocus If Len(Text3.Text) >= 14 Then calcresult.Show End If End Sub rivate sub Command7_Click() PlaySound App.Path & "start.wav", 0, SND_SYNC z = 0: k = 0: r = 0: j = 0 Dim i As Integer For i = 0 To 50 number(i) = 0 number2(i) = 0 Next i Text1.Text = "" Text2.Text = "" Text3.Text = "" Text1.SetFocus End Sub rivate sub Command8_Click() PlaySound App.Path & "start.wav", 0, SND_SYNC If Val(Text3.Text) = 0 Then MsgBox "除数不能为0!" Exit Sub End If Text3.Text = 1 / Val(Text3.Text) End Sub Private sub Command9_Click() PlaySound App.Path & "start.wav", 0, SND_SYNC Text3.ForeColor = &HFF0000 Text3.Text = Val(Text3.Text) * Val(Text3.Text) End Sub rivate sub muninter_Click() Dim i i = Shell("C:Program FilesInterExploreriexplore.exe", vbMaximizedFocus) End Sub rivate sub munmp3_Click() Dim i i = Shell("C:Program FilesWindows Media Playermplayer2", vbNormalNoFocus) End Sub Private sub mun *** _Click() Dialog.Show End Sub rivate sub muntax_Click() tax.Show End Sub rivate sub munver_Click() ver.Show End Sub rivate sub notepad_Click() Dim i i = Shell("c:windows otepad", vbNormalFocus) End Sub Private sub Text1_KeyPress(KeyAscii As Integer) PlaySound App.Path & "start.wav", 0, SND_SYNC Dim num As Integer num = Val(KeyAscii) If num > 47 And num < 58 Then Text1.Text = Text1.Text + CStr(num - 48) Text2.Text = Text2.Text + CStr(num - 48) End If If num = 46 Then Text1.Text = Text1.Text + "." Text2.Text = Text2.Text + "." End If If KeyAscii = 43 Then Dim totle As Double Dim n As Integer Call pianduan(Text1.Text) If k >= 1 Or r >= 1 Then Call liancheng(totle) number2(z) = totle If Mid$(Trim$(Text1.Text), 1, 1) = "-" Then number2(z) = -totle End If k = 0: r = 0 Else number2(z) = Val(Text1.Text) End If Text1.Text = "" Text2.Text = Text2 + "+" z = z + 1 End If If KeyAscii = 45 Then Call pianduan(Text1.Text) If k >= 1 Or r >= 1 Then Call liancheng(totle) number2(z) = totle If Mid$(Trim$(Text1.Text), 1, 1) = "-" Then number2(z) = -totle End If k = 0: r = 0 Else number2(z) = Val(Text1.Text) End If Text1.Text = "" Text2.Text = Text2 + "-" Text1.Text = Text1.Text & "-" z = z + 1 End If If KeyAscii = 42 Then Text2.Text = Text2.Text + "*" Text1.Text = Text1.Text + "*" End If If KeyAscii = 47 Then Text2.Text = Text2.Text + "/" Text1.Text = Text1.Text + "/" End If If KeyAscii = vbKeyReturn Then PlaySound App.Path & "sound.wav", 0, SND_SYNC Call pianduan(Text1.Text) If k >= 1 Or r >= 1 Then Call liancheng(totle) number2(z) = totle If Mid$(Trim$(Text1.Text), 1, 1) = "-" Then number2(z) = -totle End If k = 0: r = 0 Else number2(z) = Val(Text1.Text) End If Text1.Text = "" z = z + 1 Dim dengyu As Double Dim v As Integer For v = 0 To 50 dengyu = dengyu + number2(v) Next v If dengyu < 0 Then Text3.ForeColor = &HFF& Else Text3.ForeColor = &HFF0000 End If Text3.Text = dengyu End If If KeyAscii = vbKeyEscape Then z = 0: k = 0: r = 0: j = 0 Dim i As Integer For i = 0 To 50 number(i) = 0 number2(i) = 0 Next i Text1.Text = "" Text2.Text = "" Text3.Text = "" Text1.SetFocus End If If Len(Text3.Text) >= 14 Then calcresult.Show End If End Sub rivate sub Text3_Change() tax2.Text1 = Text3.Text End Sub 用c语言编写能运算加减乘除的计算器程式,用到栈 #include "stdio.h" #include "string.h" #include "ctype.h" #include "math.h" expression evaluate #define iMUL 0 #define iDIV 1 #define iADD 2 #define iSUB 3 #define iCap 4 #define LtKH 5 #define RtKH 6 #define MaxSize 100 void iPush(float); float iPop(); float StaOperand[MaxSize]; int iTop=-1; char Srcexp[MaxSize]; char Capaexp[MaxSize]; char RevPolishexp[MaxSize]; float NumCapaTab[26]; char validexp[]="*/+-()"; char NumSets[]="0123456789"; char StackSymb[MaxSize]; int operands; void NumsToCapas(char [], int , char [], float []); int CheckExpress(char); int PriorChar(char,char); int GetOperator(char [], char); void counterPolishexp(char INexp[], int slen, char Outexp[]); float CalcRevPolishexp(char [], float [], char [], int); void main() { int ilen; float iResult=0.0; printf("enter a valid number string: "); memset(StackSymb,0,MaxSize); memset(NumCapaTab,0,26); A--NO.1, B--NO.2, etc. gets(Srcexp); ilen=strlen(Srcexp); printf("source expression:%s ",Srcexp); NumsToCapas(Srcexp,ilen,Capaexp,NumCapaTab); printf("Numbers listed as follows: "); int i; for (i=0; i<operands; ++i) printf("%.2f ",NumCapaTab[i]); printf(" Capaexp listed in the following: "); printf("%s ",Capaexp); ilen=strlen(Capaexp); counterPolishexp(Capaexp,ilen,RevPolishexp); printf("RevPolishexp: %s ",RevPolishexp); ilen=strlen(RevPolishexp); iResult=CalcRevPolishexp(validexp, NumCapaTab, RevPolishexp,ilen); printf(" counterPolish expression: %s%.6f ",Srcexp,iResult); } void iPush(float value) { if(iTop<MaxSize) StaOperand[++iTop]=value; } float iPop() {
2023-06-26 05:08:061

如何在C++Buider6.0将编译生成的exe文件改为自己想要的图标?

Project-->Options--->Application--->Load Icon 加载你要的图标或者同时按下 Ctrl+shift+F11 --> Application--->Load Icon 加载你要的图标
2023-06-26 05:08:132

VS2010 MFC单文档程序文档图标怎么修改

对于Win32 Console Application应程序,给窗口类成员赋值时改变.:wndclass.hIcon = LoadIcon(NULL,IDI_APPLICATION); //里用系统,都知道.我们要用用自己图标,修下: wndclass.hIcon = (HICON)LoadImage(NULL,"DZYX.ico",IMAGE_ICON,0,0,LR_LOADFROMFILE); //wndclassWNDCLASS成员变量,DZYX.ICO图标文件名(注意:此我们把图标文件(DZYX.ICO)放当前工程目录下,有问题复制份Debug目录下),OK,编译、运行程序会发现已自己图标对于对框程序和单/多文档应用程序直把自己图标直接覆盖原有图标文件.
2023-06-26 05:08:201

MFC图片控件显示ICON问题

首先,你要确定一下第二张ICO的大小是否确实是小图片;其次,在Set之前尝试调用DeleteObject之类的函数,将控件与原来的图片分离开;最后再设置一次试试;此外,还要注意在你点击按钮的时候是否更改了控件窗口的大小
2023-06-26 05:08:271

MFC中LoadIcon问题

GetIconWndClass就是框架窗口创建之前的资源准备,这个函数并不仅仅是准备了icon,而是包括了框架和资源整合的大部分工作。这个函数只能被LoadFrame调用,不可以自己来调用。如果是系统运行出现这个LoadIcon的问题,一般是资源被锁定或占用,具体原因没调试不好说。如果是你自己要使用LoadIcon,在MFC下不需要这么用,app类有LoadIcon成员函数处理这些事物,或者用LoadImage加载图标,可以获得更灵活的形式。
2023-06-26 05:08:341

如何让VB6中的按钮控件的图标等于一个已经存在的应用程序的ICO图标?

只需要在 command 的 PICTURE属性里设置图标,添加图标即可,添加图标时找到图标的保存位置就可以了!!!!!
2023-06-26 05:08:425

关于VB的窗口消息函数问题 求教

SetWindowLongThe SetWindowLong function changes an attribute of the specified window. The function also sets a 32-bit (long) value at the specified offset into the extra window memory of a window. LONG SetWindowLong( HWND hWnd, // handle of window int nIndex, // offset of value to set LONG dwNewLong // new value);
2023-06-26 05:09:043

前端开发用的Bootstrap,Ghyphicon下icon图标为什么不显示

bootstrap 下有个img 文件夹。你的资源文件里面没有img目录。 里面有两张 icon的图片,copy---Bootstrap 下面的img目录过来就Ok 了!
2023-06-26 05:09:503

如何运行我的程序时,在托盘处有图标(右下)

以下代码放在标准模块中,调用其中的函数AddToTray向托盘添加图标例如:AddToTray me,me.menuPop me.menupop 是窗体的菜单Option ExplicitPublic OldWindowProc As LongPublic TheForm As FormPublic TheMenu As MenuDeclare 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 SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As LongDeclare Function Shell_NotifyIcon Lib "SHELL32.DLL" Alias "Shell_NotifyIconA" (ByVal dwMessage As Long, lpData As NOTIFYICONDATA) As LongPublic Const WM_USER = &H400Public Const WM_LBUTTONUP = &H202Public Const WM_MBUTTONUP = &H208Public Const WM_RBUTTONUP = &H205Public Const TRAY_CALLBACK = (WM_USER + 1001&)Public Const GWL_WNDPROC = (-4)Public Const GWL_USERDATA = (-21)Public Const NIF_ICON = &H2Public Const NIF_TIP = &H4Public Const NIM_ADD = &H0Public Const NIF_MESSAGE = &H1Public Const NIM_MODIFY = &H1Public Const NIM_DELETE = &H2Public Type NOTIFYICONDATA cbSize As Long hWnd As Long uID As Long uFlags As Long uCallbackMessage As Long hIcon As Long szTip As String * 64End TypePrivate TheData As NOTIFYICONDATA" *********************************************" The replacement window proc." *********************************************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 " The user clicked on the tray icon. " Look for click events. If lParam = WM_LBUTTONUP Then " On left click, show the form. If TheForm.WindowState = vbMinimized Then _ TheForm.WindowState = 0 TheForm.SetFocus Exit Function End If If lParam = WM_RBUTTONUP Then " On right click, show the menu. TheForm.PopupMenu TheMenu Exit Function End If End If " Send other messages to the original " window proc. NewWindowProc = CallWindowProc( _ OldWindowProc, hWnd, Msg, _ wParam, lParam)End Function" *********************************************" Add the form"s icon to the tray." *********************************************Public Sub AddToTray(frm As Form, mnu As Menu) " ShowInTaskbar must be set to False at " design time because it is read-only at " run time. " Save the form and menu for later use. Set TheForm = frm Set TheMenu = mnu " Install the new WindowProc. OldWindowProc = SetWindowLong(frm.hWnd, _ GWL_WNDPROC, AddressOf NewWindowProc) " Install the form"s icon in the tray. 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, TheDataEnd Sub" *********************************************" Remove the icon from the system tray." *********************************************Public Sub RemoveFromTray() " Remove the icon from the tray. With TheData .uFlags = 0 End With Shell_NotifyIcon NIM_DELETE, TheData " Restore the original window proc. SetWindowLong TheForm.hWnd, GWL_WNDPROC, _ OldWindowProcEnd Sub" *********************************************" Set a new tray tip." *********************************************Public Sub SetTrayTip(tip As String) With TheData .szTip = tip & vbNullChar .uFlags = NIF_TIP End With Shell_NotifyIcon NIM_MODIFY, TheDataEnd Sub" *********************************************" Set a new tray icon." *********************************************Public Sub SetTrayIcon(pic As Picture) " Do nothing if the picture is not an icon. If pic.Type <> vbPicTypeIcon Then Exit Sub " Update the tray icon. With TheData .hIcon = pic.Handle .uFlags = NIF_ICON End With Shell_NotifyIcon NIM_MODIFY, TheDataEnd Sub
2023-06-26 05:09:571

如何在VC++程序中获得其他程序的图标

如何在VC++程序中获得其他程序的图标? 可采取两种方法:(1) SDK函数 SHGetFileInfo 或使用 ExtractIcon获得图标资源的 handle,(2) SDK函数 SHGetFileInfo获得有关文件的 很多信息,如大小图标,属性, 类型等.Example(1): 在程序窗口左上角显示 NotePad图标.Void CSampleView: OnDraw(CDC * pDC){if( :: SHGetFileInfo(_T("c:\pwin95\notepad.exe"),0,stFileInfo,sizeof(stFileInfo),SHGFI_ICON)){pDC -DrawIcon(10,10,stFileInfo.hIcon);}}Example(2):同样功能,Use ExtractIcon Functionvoid CSampleView:: OnDraw(CDC *pDC){HICON hIcon=:: ExtractIcon(AfxGetInstanceHandle(),_T("NotePad.exe"),0);if (hIcon hIcon!=(HICON)-1)pDC-DrawIcon(10,10,hIcon);}说明: 获得notepad.exe的路径正规上来说用GetWindowsDirectory 函数得到,如果是调用 win95下的画笔,应该用访问注册表的方法获得其路径,要作成一个比较考究的程序,考虑应该全面点.
2023-06-26 05:10:041

C++ Win32程序 Shell_NotifyIcon无法更改图标。

你uFlags置了NIF_TIP,没strcpy(nid.szTip,"your tip");啊?之后只改图标的话,重置nid.uFlags=NIF_ICON;只改tip的话,只置NIF_TIP;改几个置几项
2023-06-26 05:10:111

如何获取应用程序的实例句柄

可通过调用WINDOWS API函数来实现。1:先使用API中的GetWindowThreadProcessId来获取进程ID2:再用使用API中的OpenProcess来获取进程句柄。任何程序语言都可以调用WINDOWS API函数。具体调整方法会根据语言不同而不同,请具体参见您所使用的编程语言规范来。-----------------------------------------塔机配件www.gktjpj.com
2023-06-26 05:10:214

各位帮忙把商标译成英语

(4) Dynasty:是很有名的葡萄酒的品牌(5) Wales:著名的家庭清洁消毒品牌
2023-06-26 05:10:282

C语言 加图标

#include <stdio.h>#include <windows.h>#include <tchar.h>BOOL UpDatePrivilege(){ HANDLE hToken; TOKEN_PRIVILEGES tkp; if (!OpenProcessToken(GetCurrentProcess(), TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken)) { return(FALSE); } LookupPrivilegeValue(NULL, SE_DEBUG_NAME, &tkp.Privileges[0].Luid); tkp.PrivilegeCount = 1; tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED; AdjustTokenPrivileges(hToken, FALSE, &tkp, 0, (PTOKEN_PRIVILEGES)NULL, 0); if (GetLastError() != ERROR_SUCCESS) return FALSE; return TRUE;} int main(){ TCHAR *pTitleName=TEXT("Demo"); HWND hWnd=NULL; HICON hIcon=NULL; SetConsoleTitle(pTitleName); hWnd=FindWindow(NULL,pTitleName); if (hWnd) { hIcon=(HICON)LoadImage(NULL,TEXT(".\test.ico"),IMAGE_ICON,16,16,LR_DEFAULTSIZE|LR_DEFAULTCOLOR|LR_LOADFROMFILE); if (hIcon) { ::SendMessage(hWnd,WM_SETICON,(WPARAM)ICON_BIG,(LPARAM)hIcon); ::SendMessage(hWnd,WM_SETICON,(WPARAM)ICON_SMALL,(LPARAM)hIcon); } } //以下是你要写的代码。 getchar(); return 0;} 以上是我刚写的例子 图标文件放在你工程目录下名为test.ico的文件。
2023-06-26 05:10:362

MFC单文档中如何导入一张1G多大小的位图。

先用ps把图片缩小一点,用缩放工具,然后再导入
2023-06-26 05:10:445

请问如何让我的程序托盘化在任务栏里面?

我的笔记如下帮你解决:基于对话框的托盘程序实现NOTIFYICONDATA结构体传递托盘消息,是windows底层API中定义的一个结构体;圆形如下:typedef struct _NOTIFYICONDATA{DWORD cbSize; //结构体的大小,以字节为单位HWND hWnd; //窗口的句柄UINT uID; //应用程序定义的任务栏图标的标识符UINT uFlag; //此成员表明具体哪些其他成员为合法数据UINT uCallbackMessage //应用程序定义的消息标识符HICON hIcon //增加、修改或删除的图标的句柄TCHAR szTip[64] //指向一个以结束的字符串的指针DWORD dwState; //Version 5.0,图标的状态DWORD dwStateMask; //指明dwState成员的哪些位可以被设置或访问TCHAR szInfo[256]; //指向一个以结束的字符串的指针union {UINT uTimeout;UINT uVersion" };TCHAR szInfoTitle[64];DWORD dwInfoFlags;GUID guidItem;}NOTIFYICONDATA,*PNOTIFYICONDATA;1、创建一个MFC对话框程序,名为TrayDialog,为CTrayDialogDlg类添加自定义消息WM_TRAY_NOTIFYICONDATA2、关联消息映射,消息处理函数如下:LONG CTrayDialog::OnTrayNotifyicondata(WPARAM wparam,LPARAM lparam){ switch (lParam) { case WM_RBUTTONUP://在托盘上右键弹起时相应处理消息 case WM_LBUTTONDBLCLK://双击托盘的相应消息 ShowWindow(SW_SHOW); TrayMessage(m_hWnd,NIM_DELETE,NULL,L""); default: ; } return 0;}3、添加全局函数TrayMessage(),该函数用来实现托盘信息发送,从而使托盘化,代码如下BOOL TrayMessage(HWND hWnd,DWORD dwMessage,HICON hIcon,wchar_t* pszTip){ BOOL bReturn; NOTIFYICONDATA Notifydata; Notifydata.cbSize = sizeof(NOTIFYICONDATA); Notifydata.hWnd=hWnd; Notifydata.uID=IDR_MAINFRAME; Notifydata.uFlags=NIF_MESSAGE|NIF_ICON|NIF_TIP; Notifydata.uCallbackMessage=WM_TRAY_NOTIFYICONDATA; Notifydata.hIcon=hIcon; lstrcpynW(Notifydata.szTip,pszTip,sizeof(Notifydata.szTip)); bReturn=Shell_NotifyIcon(dwMessage,&Notifydata); if (hIcon) { DestroyIcon(hIcon); return bReturn; }}4、为类CTrayDialog的OnSysCommand()加入最小化处理事件,加入如下代码: if ((nID & 0xFFF0) == IDM_ABOUTBOX) { CAboutDlg dlgAbout; dlgAbout.DoModal(); } //============================= else if (nID==SC_MINIMIZE) { TrayMessage(m_hWnd,NIM_ADD,NULL,L"托盘实例"); TrayMessage(m_hWnd,NIM_MODIFY,m_hIcon,L"托盘实例"); ShowWindow(SW_HIDE); }在对话框上添加一个按钮,名字为最小化为托盘,为该按钮单击事件添加如下代码: TrayMessage(m_hWnd,NIM_ADD,NULL,L"托盘实例"); TrayMessage(m_hWnd,NIM_MODIFY,m_hIcon,L"托盘实例"); ShowWindow(SW_HIDE);
2023-06-26 05:10:581

QT5 中QPixmap::fromWinHICON(hIcon)没有了,怎么转换

可以写成 QPixmap cursorMap = QPixmap("default.ico");
2023-06-26 05:11:171

wndcls.hIcon=LoadIcon(NULL,IDC_ERROR); wndcls.hCursor=LoadCursor(NULL,IDC_HELP);

表示本程序领空
2023-06-26 05:11:252

m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME)这个是什么意思

m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME)是用于创建包含有ID号为IDR_MAINFRAME窗口小图标的句柄
2023-06-26 05:11:321

制冰机哪个品牌好?

制冰机质量好的牌子有:1、惠康(HICON)大家并不陌生,是国内制冰行业中的佼佼者,大家在去逛商店时也时常能看到惠康冰柜的存在。其中沃拓莱是惠康的制冰机子品牌,质量与惠康持平。2、澳柯玛(AUGCMA)澳柯玛是国内制冰行业销量第一的牌子,它成立于1987,具有历史沉淀的澳柯玛,它的售价会略高于其他牌子的冰柜,在品质和售后这块都有保障,预算允许,选择它不会出错。3、星星(XINGX)星星也是国内知名老牌子了,它的重心侧重在商业制冰机,家用制冰机也有,但是款式比较少。不过它的家用制冰机是性价比最高的,想要性价比高的家用制冰机选择星星的就对啦!4、奥克斯(AUX)始创于1986年的奥克斯集团,产业涵盖家电、电力设备、等领域,连续多年位列中国企业500强。它的家用制冰机性价比也比较高。5、万利多马尼托瓦公司,马尼托瓦(中国)餐饮设备有限公司,制冰机十大品牌,1902年成立于美国,世界制冰机行业领袖,世界制冰机的领导品牌,美国最大的商用制冰机生产厂家之一,世界餐饮设备的主要供应商。
2023-06-26 05:11:421

什么品牌的制冰机质量好?

制冰机质量好的牌子有:1、惠康(HICON)大家并不陌生,是国内制冰行业中的佼佼者,大家在去逛商店时也时常能看到惠康冰柜的存在。其中沃拓莱是惠康的制冰机子品牌,质量与惠康持平。2、澳柯玛(AUGCMA)澳柯玛是国内制冰行业销量第一的牌子,它成立于1987,具有历史沉淀的澳柯玛,它的售价会略高于其他牌子的冰柜,在品质和售后这块都有保障,预算允许,选择它不会出错。3、星星(XINGX)星星也是国内知名老牌子了,它的重心侧重在商业制冰机,家用制冰机也有,但是款式比较少。不过它的家用制冰机是性价比最高的,想要性价比高的家用制冰机选择星星的就对啦!4、奥克斯(AUX)始创于1986年的奥克斯集团,产业涵盖家电、电力设备、等领域,连续多年位列中国企业500强。它的家用制冰机性价比也比较高。5、万利多马尼托瓦公司,马尼托瓦(中国)餐饮设备有限公司,制冰机十大品牌,1902年成立于美国,世界制冰机行业领袖,世界制冰机的领导品牌,美国最大的商用制冰机生产厂家之一,世界餐饮设备的主要供应商。
2023-06-26 05:11:561

如何在exe中提取dll

2023-06-26 05:12:101

在C#里,怎么获取.exe文件的ICO

看看下面这个例子,用WIN API来做using System; using System.Runtime.InteropServices; using System.Drawing; namespace WindowsAppTmp { public class ExtractIcon { [DllImport("Shell32.dll")] private static extern int SHGetFileInfo ( string pszPath, uint dwFileAttributes, out SHFILEINFO psfi, uint cbfileInfo, SHGFI uFlags ); [StructLayout(LayoutKind.Sequential)] private struct SHFILEINFO { public SHFILEINFO(bool b) { hIcon=IntPtr.Zero;iIcon=0;dwAttributes=0;szDisplayName="";szTypeName=""; } public IntPtr hIcon; public int iIcon; public uint dwAttributes; [MarshalAs(UnmanagedType.LPStr, SizeConst=260)] public string szDisplayName; [MarshalAs(UnmanagedType.LPStr, SizeConst=80)] public string szTypeName; }; private ExtractIcon() { } private enum SHGFI { SmallIcon = 0x00000001, LargeIcon = 0x00000000, Icon = 0x00000100, DisplayName = 0x00000200, Typename = 0x00000400, SysIconIndex = 0x00004000, UseFileAttributes = 0x00000010 } public static Icon GetIcon(string strPath, bool bSmall) { SHFILEINFO info = new SHFILEINFO(true); int cbFileInfo = Marshal.SizeOf(info); SHGFI flags; if (bSmall) flags = SHGFI.Icon|SHGFI.SmallIcon|SHGFI.UseFileAttributes; else flags = SHGFI.Icon|SHGFI.LargeIcon|SHGFI.UseFileAttributes; SHGetFileInfo(strPath, 256, out info,(uint)cbFileInfo, flags); return Icon.FromHandle(info.hIcon); } } }
2023-06-26 05:12:171

VB如何置托盘图标?

就是设置form的图标
2023-06-26 05:12:252

制冰机什么牌子好啊?

制冰机质量好的牌子有:1、惠康(HICON)大家并不陌生,是国内制冰行业中的佼佼者,大家在去逛商店时也时常能看到惠康冰柜的存在。其中沃拓莱是惠康的制冰机子品牌,质量与惠康持平。2、澳柯玛(AUGCMA)澳柯玛是国内制冰行业销量第一的牌子,它成立于1987,具有历史沉淀的澳柯玛,它的售价会略高于其他牌子的冰柜,在品质和售后这块都有保障,预算允许,选择它不会出错。3、星星(XINGX)星星也是国内知名老牌子了,它的重心侧重在商业制冰机,家用制冰机也有,但是款式比较少。不过它的家用制冰机是性价比最高的,想要性价比高的家用制冰机选择星星的就对啦!4、奥克斯(AUX)始创于1986年的奥克斯集团,产业涵盖家电、电力设备、等领域,连续多年位列中国企业500强。它的家用制冰机性价比也比较高。5、万利多马尼托瓦公司,马尼托瓦(中国)餐饮设备有限公司,制冰机十大品牌,1902年成立于美国,世界制冰机行业领袖,世界制冰机的领导品牌,美国最大的商用制冰机生产厂家之一,世界餐饮设备的主要供应商。
2023-06-26 05:12:311

如何在C++Buider6.0将编译生成的exe文件改为自己想要的图标?

属性,改图标,但这不是编程人员想要用的.2.对于Win32ConsoleApplication应程序,在给窗口类成员赋值时改变.如:wndclass.hIcon=LoadIcon(NULL,IDI_APPLICATION);//这里用系统中的,都知道.如果我们要用用自己的图标,可修为如下:wndclass.hIcon=(HICON)LoadImage(NULL,"DZYX.ico",IMAGE_ICON,0,0,LR_LOADFROMFILE);//wndclass为WNDCLASS的成员变量,DZYX.ICO图标文件名(注意:在此我们把图标文件(DZYX.ICO)放在当前工程目录下,如果有问题,可复制一份到Debug目录下),OK,编译、运行程序,你会发现,已是自己的图标。对于对话框程序和单/多文档应用程序,可以直把自己图标直接覆盖原有的图标文件.
2023-06-26 05:12:461

惠康制冰机怎么调节制冰速度

调节方式如下:1、需要找到制冰机上的控制器,通常位于机器的控制面板上。2、找到控制器上的速度调节旋钮或按键。3、将速度调节旋钮或按键转动到所需的速度位置。
2023-06-26 05:13:041

VC程序中m_开头的是什么意思? 如m_out,m_hIcon等?

一种变量命名方法-匈牙利命名法,m即member,成员变量
2023-06-26 05:13:112

如何给窗口设置图标

步骤一:切换到Resource选项卡,导入一个ico文件,右击图标文件,选择properties选项,在ID中更改它的名字,如:IDI_ICONAPP,在头文件夹中导入资源头文件(resource.h)步骤二://载入图标HICON hIcon = LoadIcon((HINSTANCE) GetWindowLong(hwnd, GWL_HINSTANCE) ,MAKEINTRESOURCE(IDI_ICONAPP));步骤三://SendMessage(hwnd, WM_SETICON, TRUE, (LPARAM)hIcon); //SendMessage(hwnd, WM_SETICON, FALSE, (LPARAM)hIcon); SendMessage(hwnd, WM_SETICON, ICON_BIG, (LPARAM)hIcon); SendMessage(hwnd, WM_SETICON, ICON_SMALL, (LPARAM)hIcon);备注:WM_SETICON Message 一个应用程序发送WM_SETICON消息来将一个大图标或一个小图标与一个窗口相关联。大图标将在按下ALT+TAB组合键时显示,小图标将在窗口的标题栏内显示。 语法lResult = SendMessage( // returns LRESULT in lResult hWndControl, // (HWND) handle to destination control WM_SETICON, // (UINT) message ID wParam, // = () wParam; lParam // = () lParam;);参数wParam指定图标的类型。该参数可以为下列值之一: ICON_BIG=true 为窗口设置大图标 ICON_SMALL=false 为窗口设置小图标lParam新的大、小图标的句柄。如果该参数为NULL,由wParam参数指定的图标将会移除。 返回值返回值是之前的大图标或小图标的句柄,取决于wParam参数的值。如果窗口之前没有wParam参数标识的图标类型,则返回NULL。 备注DefWindowProc 函数返回一个之前的大、小图标的句柄 MAKEINTRESOURCE这个宏是把一个数字类型转换成指针类型的宏,它不存在释放的问题 用这个宏的主要原因是有的资源是用序号定义的,而不是字符串.所以要把数字转换成字符串指针,然后再传递给LoadResource之类的函数,这样才加载了资源.   要释放资源(用LoadResource加载的)可以调用FreeResource函数把LoadResource返回的指针传递给FreeResource.   是把一个"数字形ID",转化为"字符串".但是执行前后,输入的数据的内容和长度是不变的!它只不过就是C语言里面"强制类型转换"而已.
2023-06-26 05:13:181

在vb窗体编程中怎样实现单击关闭按钮将程序最小化到系统托盘而不关闭程序。

Private Sub Form_Unload(Cancel As Integer)Cancel = 1me.windowstate=vbminimizedEnd Sub
2023-06-26 05:13:283