Ten years of MFC experience, Microsoft Technology (ZZ), first-known MFC I originally knew that MFC was probably in 1993. At that time, Visual C has not yet available, then Microsoft's C compiler is still very weak, the official name is Microsoft C. / C 7.0, the MFC version is 1.0, almost no resound, the best C development environment in that period is Borland C 3.1, in fact, probably in November 1992, an accidental opportunity, I appreciate Borland's Great, I can't remember where, I saw a wonderful integrated development environment, Turbo C 3.0 for Windows, this is the first C integrated development environment in the first real Windows environment in my memory, the exciting feeling Still reminding, saying that at least C , Microsoft and Borland are not a level at least in C , and BOR LAND is obviously higher than Microsoft, Borland's products have left a deep impression. At that time, Microsoft's best development platform was Visual Basic 3.0, and Borland's Delphi is in the development phase (Delphi's code name is: "vb killer") ..., I remembered the past more than ten years ago, I can't help but feel very emotion thousand. For more than a decade, I have used many development environments, about Visual Basic, I have used the earliest DOS version, Win Dows version of Visual Basic I basically used, I still remember the disk of each version of VB installation disk disks number. Similarly, I have used all versions of Delphi, especially Delphi 2.0, leaving me an excellent impression. Delphi provides a truly compiled visual development environment, then (around 1994), Delphi can develop a dynamic link library with the GUI, you can imagine, you can load a delphi form in Microsoft Access 2.0 applications, program interaction The feeling is really great. Borland C is a regret that I can't erase in my heart. From Turbo C to C Builder, I deeply experience Borland's brilliant and helpless, Delphi walks from VB Killer to VB escort (you can imagine ActiveX control development technology in step from Delphi) There are many bovine, early VB has soil, early VB cannot develop dynamic links, so it is impossible to develop ActiveX controls, think of it is really inexplicably), the fate of Borland C is also unfortunate. Borland C 3.1 will never have, in the development of more than ten years, I have put a lot of energy on C , Borland C has brought me countless excitement, but this classic name is in competing with Microsoft. Gradually lapse ....
The appearance of MFC4.0 makes people feel that Microsoft caught up in C . The MFC of this version is Win9 5 has appeared in Visual C 4 (Microsoft has no VC 3, VC4 previous version is 2.2, 2.1, 2.0, 1.51, 1.5, 1.0). Perhaps it is disappointed with the subconsciousness of Borland C . I didn't know the MFC. When VC 4.2 was launched, I bought this compiler throughout the normal channel. Second, about Microsoft About Microsoft, there is countless person to say to this name, this annoying name! I don't know if I like or hate. You are a programmer, your mind may be due to Microsoft's existence, even if you use Linux, you may also be because of Microsoft technical factors. How many years come, this name appears every day, I, in front of him, because you have to face the existence of Windows, but can you hate this name? Do you hate this name? I don't know if I have numb this name. In 1998, I personally booked a Mic Rosoft MSDN Universal version. I started to comprehensively touch the development technology of this company. You can think that when you face hundreds of technical discs in 1998, you know what is "thickness". When we sometimes say "catching" or "reach" Microsoft's level, we may lack the true understanding of this company "thickness". Entering MSDN, I feel that Microsoft is not a "company", but (or being formed) a "society". At that time, the famous technical website http://www.codegur u.com All the technical information was downloadable (That time http://www.codeguru.com provides the entire network station content download service, about 3m or so), the famous name Www.codeproject.com does not exist. At the beginning, I have always laid in technology comparison Microsoft and Borland, and it should be said that Borland is not weak than M ICrosoft, even if someone holds this view, but why Borland goes to this point today? And the Microsoft is in the day? A few years ago, how fierce these two companies is, but now there is another "cooperation" scene? Maybe many people think that if Borland does not exist, isn't it more powerful to Microsoft? In fact, Microsoft may be proficient in Chinese history, read "Three Kingdoms", very well-understood in the Warring States Period, in fact, in the form of Borland, is very advantageous for Microsoft, at least in the form of competitors, and in fact Borland has been controlled The Microsoft (Microsoft is a big shareholder of Borland). You can see some subtle phenomena: Borland provides a lot of talents for Microsoft, including the Delp Hi chief designer and the core member of the Borland C compiler; also provides strong escort services for Microsoft .NET (see C # Builder, Delphi .NET).
In 1998, Microsoft's COM technology founded that this technology was shocked. At that time, Microsoft's opponents made "OpenDoc" for confrontation "COM", and you see several members of the "OpenDoc" camp: IBM, Apple, Borland, No Vell, you will feel that this camp is very luxurious and powerful. However, the result is a powerful, "OpenDOC" has no death, and "CoM" is still vibrant. Some people say "COM" is not falling, then I don't know how Microsoft. In the competition with "OpenDoc", "COM" is a thorough victory. In the competition with "Java", "COM" has evolved, and Microsoft reflects powerful absorption capacity in this process, and cannot Imagine tenacity. .NET is just a "alias" of C om. For an experienced C programmer, .net is evolution of COM, and the internal .NET is "COM 3.0" in Microsoft (OLE2 is COM 2.0), and "CLR" is an unscrupulous COM object. Someone once asked me, since the Newton era laid the foundation (think about the famous Newton-Leibniz formula), today, math still study "calcination"? The answer is of course still study! The early stage of "calculus" is aimed at functions. Modern "Fiber Bundle" is targeted by "Fiber Bundle", but the basic thinking is unchanged, just "calculus" ideas. Get reasonable extension and evolution, do you know Microsoft? Microsoft Research has a group of super-first mathematicians working for Microsoft, some of which are the winners of the Vilz Prize, and Microsoft is implementing "COM" to ".NET" like "calcination" into "differential". From the perspective of scientific concept, COM and Java may be more comprehensive and accurate. Java may be more familiar with Java from achieving maturity, but you see that Microsoft is chasing. Microsoft's Lenovo's Qin Qin during the Warring States Period. Qin State during the Warring States period, taking measures such as "Fight Tracking" and "Weakening and Strive", today's Micro Soft is also like this, VB1.0, Microsoft launches "VBX" control technology, and many small companies are survive, Microsoft I don't develop "VBX" components. When "VBX" evolves into "OCX", Microsoft is not very powerful, but this kind of test is a response to many small companies.
In 1997, Microsoft Office 97, 1998 Microsoft launched Visual Studio 6.0, giving a lot of money, a chance to survive, developed, such as the MICROSOFT Office 97 integrated Visual Basic for Application 5. 0, this technology makes hundreds The software developer and Microsoft signed the VBA technical license agreement. Even if the companies such as Aut Odesk have signed this protocol with Microsoft, this protocol allows each integrated VBA product to subscribe to Microsoft pay 40 $ license fee, If you understand the VSIP (Visual Studio In Tegration Protocol) protocol, and how many companies signed a VSIP protocol, you really feel the terrible of Mi Crosoft; Microsoft Office 97, the user interface of Visual Studio 6.0 is very beautiful, why Microsoft's own development Does the tool provide similar software components? You have seen many third-party Mic rosoft allies have launched their own interface libraries to imitate Microsoft, they will not oppose Microsoft, because they have formed a ecosoft that allows Microsoft and these companies to survive. How much technology reserves in Microsoft, it is difficult for people outside Microsoft, and Microsoft China has not learned how much. When the WTL class library has just emerged, people hope that WTL can get official support, or authorize to a Microsoft. A company (you can imagine the Borland C 5.0 built-in ActiveX development mechanism is based on Microsoft ATL class?), Until today, WTL is still afraid, we fully believe that if Microsoft promotes WTL, WTL is completely popular However, Microsoft does not lack similar techniques, similar libraries include BCL (Base Control Library, a class library for developing lightweight AC TiveX controls), Microsoft has a base base based on ATL, this class library In developing Active X Designer, ActiveX Designer is the vast majority of programmers who don't understand a class. If you are familiar with Office development, you know that there is a class of objects in Office VBA, ie Form2, and report setup in VB6.0 ( And the famous Active Reporter, all of which objects, with this class library, you can provide customized visual design mechanisms for V B6.0 and integrated VBA systems, now Activex Designe R has evolved into Visual Designer in studio .NET. (Not finished) Third, to Microsoft Learning No matter what angle evaluation Microsoft, I think Microsoft is worth learning. If life is in this era, there is a disaster, you should hate this guy, but you must first This guy is learning! I am inadvertently for Microsoft Song, I just want to say that I feel the feelings of Microsoft technology for more than a decade.
Microsoft has benefited greatly in research, if you are interested, you can visit http:// Resear ch.microsoft.com/, although some Chinese companies also have research institutes, but with Microsoft, there is really "beads of rice grains , Also put the feeling of light? " In 2003, I experienced the job fair of the Micros Offeaway in Beijing. I saw that China's elites entered Microsoft's desire. In fact, human resources in China, Microsoft Asian Institutes have extended to The core level of the relevant majors of each famous university, I feel that Microsoft does not need "seeking", as long as Microsoft needs, the elite will "flock", everyone has the reason for "understanding" That place, if you swall it to the University of California, you can understand that there is a mathematical soil, it will be proud of the country, because "scientific borders". Is there a national border? I don't know if there is anhydrior? ! Think about the disaster of DVD to bring to the domestic industry. I don't know if I should be painful. In the atmosphere of the Microsoft Campus Recruitment, I seem to understand why the "original technology" is less pitiful. I have read several masters written by Microsoft Asian Research Institute. It can be seen that Bill Gate is their spiritual sleeves and their piety of Microsoft, and domestic research institutions should study Microsoft's way, Microsoft seems to It is the figure in the Three Kingdoms. I don't know if Liu Bei is still Cao Cao, or the mixture of both. I often pass the Sigma Building. The first Sigma Building has entered the "pilgrimage" feeling, and I also have a trip to several levels of Microsof T China, and the tastes are really difficult. In the Office Wars, domestic software is indeed contest in some aspects, in fact, it is actually boring, and the interface is similar to, or the user habits cannot solve the fundamental problem. A good software developer must be A software used by software, it is hard to imagine a software operational level and poor developer can develop a high level of software. One of my earliest software is Microsoft Word. At that time, the version was 2.0, probably a 1992 thing, Leave me a deep impression is integrated in Word's Word Basic. Later, I came into contact with Excel 3.0, I didn't expect it. The Excel integrated is Excel Basic, and then useful in Access Basic 1.0, in these Before the software integration is bundled into OFFICE, I feel that the idea of these products is very great, very Microsoft style, because you know, even a DOS, Microsoft provides a built-in QBasic or GW Basic.
Although there are many technicians, as a technician, I think Microsoft's product concept is definitely the first, from the 1994 Office Series until Office 4.2 formed by 1997. I believe that technical ideas are leading Opening the Office products after 2002, have you heard of the following statement? "DOS as the era of operating system, Windows is the application software; when Windows is an operating system, the Office becomes Windows of the DOS era; then if this rule, the Office does not replace Windows to become an operating system?", Now in the development field Visual Studio (.NET) is becoming another office, have you noticed? Controlling Visual Studio (.NET) integrated development environment is still a Basic language engine (Visual Basi C .NET). Different from many companies, in the technical system, Microsoft almost all products are close-in, W Indows, Office, Visual Studio .Net is different, but the public core is about to be formed, we have seen, core components In terms of Office and Visual Studio .NET increasingly consistent, for example Mi Crosoft is replacing the core component VBA 6.x of Office 2003, and we are still in some similar and non-MICROFTs. Comparison gap, national procurement or government procurement support company, do not drive research core technology, just urgently adopted short-term behavior to fight with Microsoft, I don't know if there is a feeling of stunning trees, personal experience is, first learn M ICrosoft first , Practice, understand Microsoft, in-depth understanding, then call the slogan. (Not finished) four, why use MFC? After a few years of competition, Borland's OWL almost disappeared. This OWL is a very beautiful C class library, in the old age of Borland C 3.1, OWL really achieved a unique unclear. However, Borland C 4.0 missed the best time to enter the 32-bit program. Shortly after BC 4.0, the Win95, Borl and rushes, with a small "Pack", allow BC4 to compile WIN4-based programs, at the time Visu Al C is version 2.0, supporting the version of Window16 is Visual C 1.51, interesting is Borland to support Win16, Win32 with the same compiler, and Microsoft has to provide different compilers for Win16, Win32. However, informative version of Visual C 2.1 and Visual C 2.2 quietly supported Win95's latest features, a new set of public controls provided by Win95, in my impression, Borland's support for Win95's new features make MFC The distance from OWL is greatly shortened.
Later, Borland C 4.5 did not change this situation, although Borland C 5.0 supports OWL and MFC, it is obvious that Borland C is very regrettable only to version 5.5. Although C Builder introduces D ELPHI's VCL library, many C programmers do not buy, because many people who are happy with C prefer to encode the edited mode. The emergence of Visual C 4.0, on the battlefield of C , Borland started. MFC has developed to today, has been more than ten years, despite the mixed, but can affirmed that more than a dozen years of technology has laid the Survival foundation of the MFC, even if Microsoft's long-range release, MFC can not launch windows-style dance table In fact, the Visual Studio .NET after the long-length (Longhorn) is still as an important part, in this year's Visual Studio .Net 2005, the location of the MFC in C is still the same. MFC's future, you should don't worry, as long as you go deep into the .NET class library, you will find that many of the MFC's ideological machines have quietly entered. Net, at the same time, Microsoft's third-party ally has been MFC for more than ten years. Developed a large expansion library, if Microsoft is a boat, the third-party ally is the water of the boat. Many people think that MFC does not show, in fact, the visual imuity, the interface of Visual C 6 is very classic, especially in the Dock Control strip mechanism, in fact, the IDE of Visual C 6 is completely MFC, but the MFC class library control The related class features are very weak, why? You will see many companies with Microsoft, and they quickly realize the Docking mechanism of Visual C 6 on the basis of MFC. This is the mildness of Microsoft. Microsoft will provide opportunities for allies, and their consistent approach is There are some interesting features in our own commercial products, making other companies to imitate to drive user groups. Borland does not have such a reserve. The prosperity of the MFC third-party market benefits from Microsoft's strategy and wise. Can the MFC cross the platform? It is theoretical, Microsoft does not do, and it is also a strategy, but there are many important products Microsoft almost MFC to be planted to other platforms. In fact, MAINSOFT, one of Microsoft partners (Windows source code is from this company " Of a few years, it is responsible for transplanting the MFC program to implement systems such as UINIX, Linux, AIX. The new version of Visual C MFC has supported .NET development, MFC and ATL collaboration better. According to my experience, MFC, ATL and .Net library three people can fully integrate into actual development work, if you are an MFC expert, I hope that ATL and .NET library can become your faithful left and right hands. .
So do you have a program that supports MFC, ATL and .NET libraries simultaneously? Of course, Visual Studio .NET IDE is! And VIS UAL Studio .NET IDE also supports addin expansion with the .NET library, if you want to manage At l and .net libraries with MFC, please continue to support me! (To be renewed) V. Cognition Application object If you are familiar with Microsoft Office, you should further analyze this large software, almost every program in Microsoft Of FICE is available secondary, this is benefited from the two of Microsoft Office. The secondary development mechanism is a COM mechanism-based VBA model, and the other is a managed model based on the .NET framework: Visual Studio Tools for Office. As a programmer, you should parse the technical structure of OFFI CE in the technical perspective. Microsoft's software object structure can be used through the tool OLE / COM Object Viewer provided by Visual Studio, through reference type library, you can even get a C header file that describes object information. This is a lot of benefits. A typical office usually has an Application object (or other object with it), which is equivalent to the software hub, here, we don't discuss office, talk about Application objects. Most of the software that supports extension (AD DIN, PLUGIN) has similar structures. Typically, a system Application object or a COM object, or a .NET object, if your system exists, your system has a mechanism to support Addin, Plugin. An ideal approach is to built an ATL object or .NET object in an MFC system, how to do this later. The key to design Application objects is how to plan the properties, methods, events of this object. If you want the system to have good expansion, Application object is critical, which is also an embodiment of architecture art. So-called Addin (PLUGI N) is the system runtime, which can be extended according to the object library that needs to be loaded according to the need. The system is expanded to the system, and the application object is passed to Addin (Plugi N) when the system is loaded with addIN (plugi n). Library, imagine that if Application triggers a system event, and the addIN (Plugin) library explains the event, the task of an AddIN (PLUGIN) library is not OK! Therefore, Applicatio N object is the key to system design. If you are proficient in the ATL object, add an ATL object in your MFC system, which can be done with VC WizA RD. You have accepted a fact that there is a CXXXAPP object in the MFC program (CWINAPP derived class), now you have to do, add a corresponding ATL object.
This object can be created in cxxxapp :: i nitinstance (), if the class of the ATL object is CXXXAppObject, it is recommended that you add a member variable in the CXXXAPP object object, for example: ccomobject
IE4 is essentially a shell, and its SDK is free. Navigator is a Mozilla-based browser. Although it is open source, it is an open source. Because it is necessary to take care of greater commonality (not related to the operating system), this Mozilla cannot fully utilize the advantages of Windows. Mozilla cannot bring the so-called "pleasure" of the developer, and the top programmer can control Mozilla to achieve the fun of technology depth, the earliest Navigator offers 17 versions (note: not 17 kinds Natural language, but 17 operating systems), from mathematical perspective, Mozilla is like a group of axioms, you can develop browsers on different operating systems in this basis, Navigator is based on a beautiful result of Mozilla, you can Enjoy the beauty of the code structure, but lost is a powerful personality (to know, Windows users are much larger than the sum of other operating system users). Ordinary users cannot read the code of Mozilla, even if they understand, it is not very good, this may be one of the fatal causes of Mozilla (and most open source code). The IE kernel has smartly seized the developer. You think about tens of thousands of people, the primary developers are easy to control is the preferred choice, and is also wise. I have read Mozilla, but I will not apply it for a specific project during the development process. As long as it is a browser, it is impossible to be absolute security, whether it is mozilla, or IE. When I learned that Firefox is a new browser based on Mozilla, I basically lose confidence, I have a strange point of view: Firefox's launch, the biggest beneficiaries are absolutely Microsoft, even if Microsoft lost 20% of the share However, it will cause Microsoft to strengthen IE, Microsoft does not know how to promote IE evolution, Firefox's emergence is undoubtedly providing Microsoft to provide opportunities for Microsoft, and the principle of species evolution is to compete, and F IREFOX is to promote IE further powerful catalyst. Firefox expanded mechanism is indeed very flexible. If the opponent is not Microsoft, it is difficult to set off the waves, and when senior developers gradually understand Firefox, Firefox's vulnerability will gradually expose, try to think, if some kind of Linux replaces Windows So, its vulnerability will also be as much as Windows, because at that time, there will be a person who is as many as the WINDOWS vulnerability to study the vulnerability of Linux! From a personal point of view, Microsoft may be a bit "", because people who peeked Microsoft weakness are too much. In theory, computer security is a forever topic, just like any society, there is no thief, thief, crime, and police disappeared. Do you want, what is civilization? Can barbaric disappear? Barbar disappears, civilization does not exist, and high civilization is more absence. Humans overcome cancer, the next disease will be more deadly than cancer, but this does not mean not to overcome cancer, progress is really a challenge ... IE technology concept is definitely a superior idea, IE can expand mechanism, will give Windows developers have a lot of benefits.
I am planning a piece of article, introducing your object model with the MSHTML library, so that your instruction system can be integrated with the HTML object model in the HTML file. Saying "Hook" often sees about "hook", the problem, so I think of another topic, that is, the game "plug". Hook provides a means of changing a Windows window message processing. The usual development is not found. Therefore, it is not "common", early Windows, because you can't support the far East (of course, including Chinese characters) The text, therefore there is a lot of external software supplements Windows, the Chinese Star is a typical, the software that is proud of the people, the monitoring software may use HOOK technology. In addition, it is difficult to imagine what software will be used to use HOOK. Someone asked me, can change the data processing behavior of a process, I used to tell him: can, you can't! I feel telling me that the vast majority of HOOK is a "non-courtesy" behavior. Has been a period of time, often someone quietly recently, giving me many superusers, arbitrarily modifying my management privilege, I found the host, solved this problem, then, I also bought a few servers listening , Safety books, I have given up, why? Worried about learning bad (positive, evil is only the difference in one thought). In fact, each server is very fragile. For experienced system programmers, safety and road morality are associated with software technology. The evil road is easy, sometimes I will think, if I go to design a poison or when hacker, what will it? My, number theory, combined school, password theory is not a question, and the Windows virtual driver is not a problem! Why is so many people concerned about HOOK? There are very few people in the country, but it can break the solution, but unfortunately, unfortunately! Hook is a bottom-level editorial system that understands the HOOK people. It fully has the heritage of the first-class technology. I really hope that my heart is a bloody. I have sent this post. It is hard to say that it is true, still unintentional. A few days ago, I won the game in Sina.com, I think it will win, as a play fan, we have waited for more than ten years, waiting to have a cup of people who belong to the Chinese.
I remember that when I was still working in college ago, I was still in the university. I said that I said to me in front of me: "Hey, Yesterday, the horse XX won Li Changyi!" At that time, I was watching in the office. Newspaper, the people saw that I didn't lift my head, very dissatisfied to grab the newspaper, shouted to me: "Hey! Horse XX won Li Changyi !! You have heard no !!!", I said to him: "You The big shocked strange ?! Horse XX lost how many powers, do you know? " When the weak crow is 17, it is proud of this world. It can now not change, the farm heart of the ancestors, the Zhongsijun 5 people, and Li Changwei is a recognized world first, so that Master knows that if he is him, it will be booked. This cup, the Chinese people lived, thanked Cui Zhe, He also? Because of this weak crown 19, Li Changyi blocked his big brother, so that the cup has a suspense. When the Chinese media said that South Korea only Li Changyi is very powerful, I don't know where the heart is still self-deceived, Li Changyi 30, I don't know how to force it, many teenagers! In the face of this name, it is a bit numb, this Taiji Tiger! The software industry has come again, the Indian Tiger, which has never been teeth, our software exports are only one-third of India, and we are shocked, how can it be? This forty-third water is very large, it is likely to be more pitiful! At that time, I participated in the official meeting of "Dalian Software Exported to China". The adult said at the meeting: "It is said that our Dalian software exported to the first, the city's leadership hopes today to give this One number, I hope that you can declare the data newspaper, last year's data can also be declared, pay attention, we want only data, you carefully, we have a reward, the opportunity is rare! "....... One day, several friends watching CCTV dialogue in my house, the conversation is a domestic software allocover (the owners of friends, Alpine and other companies), and the other is a delegation of Indian software.
When asked, when the distribution software gap, our Liu Lao (on behalf of Alpi) did not say, according to his views, we have already caught up (India), ..., the meaning of India The level of this level, the Indian party, I still remember: "Whether to catch up, the international market says! In China, Indian programmers are inadequate, the technology is not good, in fact, the Indian software First pay attention to personality, many important US commercial software is developed in India ... "Our public opinion always describes the mediocrity of the consortium of Indian programmers, but the gap is gradually opened, ..., Go, Football (I'm not expressing talking, talking else!) (Example: Ben Due), he must fight all the brothers, then, live in the interior of the master, do you know what's going on? In the future, this chess, you have to cook for Master, bring your child, engage in health ..., the rest of the doors, the people, such people, the way, create a generation of Genesis, most of them Duang Fang is now, this is the provenance pattern of early Japanese Go. How many statements have the software? My earliest computer software textbook is a English version (D-version of the film), unlike us, the author of the book constructs "X-language", what else does not talk about C, Pascal, Basic, once lack What mechanism has added some ingredients to "X-language". What C, Pascal, Basic, you feel almost, but now it is divided into level! We are weak in the language, but we are very stunned in the language of language. I don't know if they are wrong. Many programmers may be vanity and use C , in fact, the earth people know, do the database, Delphi, VB is much stronger than C , and it is almost mini, because it is useful or the author does not write, or the author does not understand. Sometimes I am thinking, if there is no domestic demand, what will it? Perhaps the existence of software domestic demand, has created the characteristics of China Software, I think the domestic industry has not fully utilized the existence of domestic demand in China, maybe China's software demand is the hardenal injury of software. I remember a movie "God", the big scorpion of the hero was blown up by the foreigner, and finally he became a gun hand, and the war of the ocean used a big knife, the cheats were not good, and the technology of the Ocean's Thunding Ocean is the right way. I think a good programmer must understand the history of the software, learn history, you know why you are weak, how others are strong.