Article View: cn.bbs.comp.program
Article #1207Windows��������������
From: ���ܵ�Сʨ
Date: Sat, 18 Apr 1998 00:00
Date: Sat, 18 Apr 1998 00:00
120 lines
9635 bytes
9635 bytes
Windows�����Դ�ļ����ľ���ɫ�ij���,��Ϊ����Ѱζ,��Ļ����
�����������һ�����˵�С���������ͼ�������һ��ʱ���,Windo
ws�ͻ������������úõ���Ļ��������,����ȿ��Ա��⾲̬ͼ��
ʱ�䷢����������������ӫ���,�ֿ���������Ļ�ϵ��������ϲ�
���������⿴��,��һ�����õ����á�
��Ļ�����������Windows��װʱ��Microsoft�ṩ�ij�����ѡ��
��װ,���ǿ�ģ�⡢���д��ڡ�����ߺʹ���Ļ��,�û�ͨ��"������
��"�е�"����"��ѡ���Լ�ϲ������Ļ��������,�����ܹ�������Ļ��
�����������ʱ���Լ������Ӿ�Ч����Ļ����������������ƶ��
����?���Ľ��������������һ�����Լ���ɫ����Ļ��������
��������뵽Window s����Ļ�����������,ʹ�û�ͨ����������
����ѡ��Ϳ��ơ�
��Ļ����������Ƶ�һ�����
��Ļ���������ǰ������������������������϶����Wind
owsӦ�ó���Micros oft��˾�ṩ�ľ�̬���ӿ�SCRNSAVE.LIB�а�
����WinMain�����ʹ��Ļ��������������������롣����һ����Ļ
��������,��Ҫ�DZ�����Ļ�������������ģ����Ӿ�Ч��ģ�顣
��Ļ����������Windows����ʱ�Զ�װ�ػ����û��ڿ��������
�������ʱִ�С�Wind ows�Զ����Ӱ������������Ϊ�����û���
�Ƶ�ʱ��������������������ʱ,Windo ws��������Ļ������
��:�ٵ�ǰ���������WindowsӦ�ó���;�ڼ����̳�(Computer-B
a se Training)��������;��Ӧ�ó����ڶ�WM-SYSCOMMAND�����ɱ�־
��SC-SCREENSAVE�������Ϣʱ,���ط���ֵ��
�����Ƶ���Ļ������������ʱ,SCRNSAVE.LIB����һ��ȫ������,
�������¼����:
WNDCLASS wndclass;
Wndclass.hCursor=NULL
wndclass.hIcon=LoadIcon(hInst,MAKEIN-TATOM(ID-APP))
wndclass.lpszMenuName=NULL;
wndclass.lpszClassName="WindowsScreenSaver-Class";
wndclass.hInstance=hinst;
wndclass.style=CS-VREDRAW|CS-HREDRAW|CS-SAVEBITS|CS-DBLC
LKS;
wndclass.lpfnWndProc=ScreenSaverProc;
wndclass.cbWndExtra=0;
wndclass.cbWndclassExtra=0;
WNDCLASS�ṹ��10����������Ĭ�ϴ���������д�������,����
�����ﲻ����ϸ���͡�
���Ƶ���Ļ����������Ҫ�ṩScreenSaverProc�ص�����Ĺ��,
��Դ�����ļ����ṩI D-APP��־���ʶ��ͼ��,����,��ʱ����Ĺ�
��ֻ������Ļ����������Ϊһ��������������ʱ�����á�
��Ļ��������ı�д����
1.SCRNSAVE.Hͷ�ļ��ж�����SCRNSAVE.LIB�еĺ���ԭ��,����
��Ӧ���Ȱ��ͷ�ļ���
2.��������SCRNSAVE.LIB�е�ȫ�ֱ���:
extern HINSTANCE hMainInstance;
extern HWND hMainWindow;
����hMainInstance���������дӦ�ó����ʵ����,��hMainW
indow����Ļ�������ڵľ��
3.����Ļ�����������������Ϣ,������Ϣ������CONTROL.INI
����idsAppName�ַ����ݶ�����Dz����ĵ��С�
4.rc��Դ�ļ�����:����idsAppName�ַ�,id-sAppName�ַ�
�����������¸�ʽ����Ļ������������:"ScreenSaver.�������
"��
����:һ�����Ϊ"�����"����Ļ���������Ҫ��.rc��Դ�ļ���
������������:
STRINGTABLE PRELOAD
BEGIN
idsAppName
"Screen Saver�����"
END
5.��Ļ�������ڴ�����Ϣ�Ĵ���:
ScreenSaverProc�ص��������������պʹ�����Ļ��������
�ڵ���Ϣ��
�ر�ע��:
��ScreenSaverProc���ڹ���轫δ�������Ϣ����DefScreen
SaverProc��̶�����ͨWindowsӦ�ó����е�DefWindowProc���;
��ScreenSaverProc�ص�����Ҫ��.def�ļ�EXPORTS���������
6.�ṩ����ѡ��:
������ṩ���û�һ��������Ļ���������Ӿ�Ч��Ľӿ�,ʹ��
����ӵ��һ��������������ijɾС�
Windows����������һ�����:���û���"����"��ѡ��"����"��
ťʱ,Windowsʹ��/c��-c������������Ļ��������,��ʾ���öԻ���;
�������ʾ���öԻ���,��Ҫʹ��/s��-s������;��ʹ��������ʱ,W
indows��Ĭ��ֵ/c������Ļ��������,��ʾ���öԻ���
�����Ƶ���Ļ��������Ҫ֧���û�������ʱ,�������ṩ���µ�
�ص�����Ի�����Դ
ScreenSaverConfigureDialog"���öԻ���"�ĶԻ���ص������
��;
RegisterDialogClasses �Ǽ�"���öԻ���"����DZ�����
�ຯ��;
DLG-SCRNSAVECONFIGURE "���öԻ���"�ĶԻ�����Դģ�塣
��Windows��/c�������������Ƶ���Ļ��������ʱ,SCRNSAVE.LIB
��WinMain����Զ�����RegisterDialogClasses������ʾ"���ö�
����"��
�����Ҫ�������öԻ���,��Ҫ�ڳ����б�дScreenSaverConfig
ureDialog�ص�������,���Ƶ���Ļ���������ڿ�������CONTROL.
INI��ʼ���ļ��б���������Ϣ,����Ϣ������STRINGTABLE��id-sApp
Name�ַ����ݶ���Ķ��С������ʹ��WritePrivateProfileSt ri
ng�����WritePrivateProfileInt����������������Ϣ,��LoadStrin
g����ָ�������CO NTROL.INI�е�������Ϣ��
RegisterDialogClasses�е�hInst���������Ƴ����ʵ���
��,�༴ȫ�ֱ���hMai nInstance��������öԻ���ص������̲�
���κ�����Ĵ�����,RegisterDialogClasses ����ֻ�ط���TRU
E�����ˡ�
7.ģ�鶨���ļ�����:
���м����ScreenSaverProc����!��ͨ��"���öԻ���"Ϊ�û���
���˳�����Ϊ���ýӿ�,����Ҫ���ScreenSaverConfigureDialog��
��RegisterDialog-Classes���������;
��ģ�鶨���ļ��е�DISCRIPTION���ָ�ʽ����:
DESCRIPTION��SCRNSAVE:(������"�������"����ʾ����Ļ����
�������)��
��Ļ��������İ�װ
"�������"����ʱ,����Windows������Ŀ¼���Զ�������Ϊ.S
CR���ļ���Ϊ��Ļ��������(��Ļ���������Ƿ��������������ͨW
indows��ִ�г���,ֻ�Ǽؽ������Ϊ.SCR����),���Ա�����
�Ӻ�,����ɵ�.EXE�ļ���Ϊ.SCR���ļ�,����֮����Windows����
Ŀ¼��,������"�������"��"����"�з������Ӧ�ó�����в��Ժ�
������
--
[m[1;37m�� ��Դ:���ϴ�С�ٺ���Ϣ����վ bbs.nju.edu.cn��[FROM: hsia.nju.edu.cn][m
Technical Details
Message-ID:
<3O9RBL$u5B@bbs.nju.edu.cn>Path:
arc1-ca.pugleaf.net!unknown!not-for-mailShow Full Headers
Complete Article Headers
X-Google-Language: Chinese,GB X-Google-Thread: fc86e,83d030e53990c4d,start X-Google-Attributes: gidfc86e,public From: pipishi.bbs@bbs.nju.edu.cn (���ܵ�Сʨ) Subject: Windows��Ļ������������ Date: 1998/04/18 Message-ID: <3O9RBL$u5B@bbs.nju.edu.cn> X-Deja-AN: 345334500 X-Filename: Programming/M.892871973.A Organization: nju_bbs Newsgroups: cn.bbs.comp.program