Best Regards,
Amy Dan
Marvell Semiconductor Inc
Solution:
1. Find the handle of edit area window:
2. Disable the window using Win32 API: EnableWindow();
Sample code:
CFindWnd fwndWord(this->GetSafeHwnd(), _T("_WwG")); //Use Spy++ to hook it.
CWnd * m_pWndWwG = CWnd::FromHandle(fwndWord.m_hWnd);
if( m_pWndWwG)
{
m_pWndWwG->EnableWindow(FALSE); //Disable the editable of word.
}
// This class encapsulates the process of finding a window with a given class name
// as a descendant of a given window. To use it, instantiate like so:
//
// CFindWnd fw(hwndParent,classname);
//
// fw.m_hWnd will be the HWND of the desired window, if found.
//
class CFindWnd {
private:
//////////////////
// This private function is used with EnumChildWindows to find the child
// with a given class name. Returns FALSE if found (to stop enumerating).
//
static BOOL CALLBACK FindChildClassHwnd(HWND hwndParent, LPARAM lParam)
{
CFindWnd *pfw = (CFindWnd*)lParam;
HWND hwnd = FindWindowEx(hwndParent,NULL, pfw->m_classname, NULL/*, pfw->m_classname*/);
if (hwnd) {
pfw->m_hWnd = hwnd; // found: save it
return FALSE; // stop enumerating
}
EnumChildWindows(hwndParent, FindChildClassHwnd, lParam); // recurse
return TRUE; // keep looking
}
public:
LPCTSTR m_classname; // class name to look for
HWND m_hWnd; // HWND if found
// ctor does the work--just instantiate and go
CFindWnd(HWND hwndParent, LPCTSTR classname)
: m_hWnd(NULL), m_classname(classname)
{
FindChildClassHwnd(hwndParent, (LPARAM)this);
}
};
During the past two months, I am working for a project that need to interact with IE programming. I came across too much obstacles and weird behavior that brings me a lot of troubles. It took me too much time on troubleshooting, googleing and posting on newsgroup. I hope to record some of the problems which I have investigated on the IE programming series. Although the title is marked as 1,2,.. etc, they are not organized logically.
I have to write blog in English:)
Last weekend a terrible thing came to me that my laptop was suddenly
bluescreen and unable to login to the system even in the safe mode. So I decided to reinstall the system. After about 10 minutes' ghost, the laptop runs well again. But some importance data which storeed in C: was lost! My several blogs saved in zoundry were gone with the ghost:( Most of them are technique article. I have to rewrite them again.
Today Carol Bartz, president and CEO of Autodesk,Inc., came to our company again and gave us a presentation. All of us gathered in 20 floor which is my first time to that floor since we moved to the new office. This time the microphone was still working badly as usual.
NPR 好长时间不能用了,都是台湾地震惹的祸.很多国外的在线vedio都不能听了,前几天下了个龙卷风,但是声音很小,听不清楚.今天偶然试试NPR能不能打开,居然可以用了! 网速还不错,基本不卡.
仔细听一下,居然发现绝大部分都能听清楚了,应该有八九成了吧!差不多一个多月没有听英语了,难道听力一下子提高了这么多?!真是high.
回想以前的经历,如果长时间学习一项东西,慢慢的就会进入疲劳期,进步缓慢. 但是如果放下一小段时间后再学时,就会发现一下子好像进步了很多,以前很多不会的现在都一下子懂了
不过不清楚着是真的进步了还是退步后的表现:) 不过这次听力好象是真的提高了不少:)
明天就是code complete的日子了,还有几个feature没有完成,关键的是没有解决反感,这时最苦恼的.最近一个多月来做的这个项目进展的实在是不顺,真正的code到是没写几行,但要解决的问题都挺棘手的.考验的是troubleshooting能力.
晚上哉csdn上看了一个blog连载,记录的是一个IT同行出差印度的所见,所思,所感. http://blog.csdn.net/popeye008/archive/2004/03/08/22212.aspx 文章写的很不错.
有个问题我一直很奇怪,为什么有的人很能说,有的人很能写,也就是输出能力很强?而我就是写不出来.这种能力究竟是先天就有的还是后天训练而来的?依稀感觉天才的文豪,作家估计也有,可能更多的还是后天的训练而来,那么后天要经过什么样的训练才能让自己也很能写呢?
尤其是去年看一些技术文章时,比如模式什么的,有的人总时能扯上哲学,宗教,经济,天文,地理什么的,看的人悬悬呼呼的,感觉很有思想似的.为什么我在看统样的事情的时候就想不到?
还有就是看完同样的书,电视,电影后,有的人就能写出一桶又一桶的文字评论一把,而我看完后就是觉得好看,有时候也想写点什么来描述下,可就是写不出来,而且也写不到那么好。为什么我就写不出来?
写文章应该跟写code差不多,都是在摆弄一种语言。都有自己的语法和一定的模式。只不过code是写给机器识别的,而文章是写给人看的。当然写文章相对要难多了,但是应该也是可以学习训练出来的。但是显然,我现在还不知道怎么才能提高自己的表达能力。
路漫漫兮其修远,吾将上下而求索。。。
Training & Lecture:
What
Difinition
Why:
History
Background
Advantage
Disadvantage
How
theory
Instance
Demo
Practice.
1. Online: www.blogger.com
2. Window client: Zoundry,Microsoft Live Writter.
3. Gmail: bloggername.internalname@blogger.com
4. Outlook: same as gmail
5. Microsoft Word 2007.
晚上给tech lead写mail汇报情况加了会班,同组的还有个同事没走,看样子做的挺郁闷的.于是就聊了下,因为项目下周就code complete了,现在基本都还没写code,最关键的是思路还不是很清晰,觉得时间特别紧,要做的特别多,但是又不知道怎么动手.她主要的问题是把问题复杂化了,应为追求完美,想把事情做的很好,于是就考虑太多的情况,造成的结果就是一团麻,下不了手,什么都做不了.
其实我自己以前也是这样的,现在慢慢的改掉了一些.处理事情的一些基本原则应该是:
看问题要抓住事物的本质.
解决问题是应先解决主要矛盾,然后再考虑次要方面,以做到全面.
还有,要时刻提醒自己,你的目标是什么?
考虑问题应该是将复杂问题简单化.
今天美国那边的tech lead终于解决了困扰了我们一个多月的技术难题-suppress the security dialog when open an office document with IE.而且一出手就不同凡响.跟他一起作项目快一年了,就见他写过三次代码,每次都是泛型编程,几乎什么问题到他手上都可以用泛型来解决.可能这就是老外所谓的Thinking in...了--Thinking in generic programming!
工作快两年了,跟了两个美国的tech lead,都挺牛的,第一个,matt,结束不是很多,但是感觉写代码超快,技术难题两下就解决了.第二个David,跟我们一起写的代码基本不多,但是每次写出来的必是泛型的,命名都是一些前缀带下划线,变量都是两三个字母不知含义的那种.打开文件,满眼全是符号,而不是象Java或是C#那种OO感特别强,接近自然语言,即使不太懂编程语言的,看看那些英文单词也能猜个差不多.真不知道他是怎么把泛型练到如此纯熟的,等这个项目release完了一定要请教学习下,有这么好的资源不用真是浪费.
而且老外还有一个特点就是不用IDE,喜欢用command line的方式,可能跟版权有一定的关系吧,估计他们学习的时候很多都是在linux下用一些开源的开发工具的缘故.要搭建个window环境下的编程环境,代价可不小,正版的window+Visual studio.net+Sql Server,可能还需要office,乖乖的,好几千dollar啊,都够大学四年学费了.而我们在地摊上10块钱就配齐了.不过也难怪,公司里一个美国员工的薪水都顶我们中国十个廉价劳动力了的成本了.
自从上个月台湾地震后,AOL就基本登不上去了,后来干脆就不用了.上午刚上班,team lead就让我赶快登AOL,说David要跟我讨论问题.我刚一上线, David就传给我他写的demo,好家伙,全都是generic的,一堆带下划线的不明其义的Parameter,variable,typedefine,macro,看的心里发慌. build 下没通过,提示缺少resource 文件,把错误发给他后,这才知道他写代码根本不用IDE,也不debug, 用Diagnorse的方式输出到output window看结果就行了!而且发给我的IDE版本他根本就没编过,当他把rc文件发过来后一切都OK了,真不知道他是怎么写code的.
编译通过后David就带我简单的看下code.他打字太快了,而且英文也很native,都是一些极其简单的单词,组合在一起后有时就是不知道什么意思,偏偏昨天刚装的系统,powerword也没装好,基本上跟不上他的节奏了,他每敲完四五行,我就用些ok, yes, see, good,got回应一下.主要还是因为泛型用的太活了,看不习惯.
到下午的时候我就一边看聊天记录一边看代码,这才慢慢理解他的话和代码.代码封装的非常好,只需继承最上层的类,调用下Startup()和Cleanup()就行了.他说代码整理过了,只为了make your life easier.正是不虚此言!整个过程可以这样来比喻.一个刚学电脑的菜鸟跟老鸟学习电脑,老鸟打开机箱,然后跟他说这是cpu,做什么什么用的,那是内存,还有那是主板,都是做什么什么用的...菜鸟在一旁听的晕晕呼呼的~完了老鸟说,现在我要睡觉了,你自己研究下然后把它run起来吧.菜鸟研究摆弄了一个下午,最后突然明白,原来挺简单的嘛,只需盖上盖子,按下power就行了啊:)
It really make my life easier!
Thinking in generic programming-I have to study it this year!
The "Run" line in the Start menu can be used to speed up access to a whole variety of functions. Some examples of the shortcuts that are available are discussed here.
There are dozens of commands exist in system and some of them are easy and known to nearly everyone,i.e: "cmd" to open command prompt window, "regedit" to open registry editor. But many others are unknown to most of us,and if you are a sheer lazy guy that hated to find the shortcut icon from thousands of icons on your desktop, this artical is helpful to you.
How to find the command which could run in Start-Run line to a new application?
Take Microsoft word as example, if you wondered which command could launch MS word from Start-Run Line, you could launch a word application and view its process name from task manager window-it is winword.exe. OK, that's enough, type winword in Start-Run will able to launch word.
And here is a list of system management command:
ciadv.msc | Manages the Indexing Service |
compmgmt.msc | Computer Management Console. It contains a number of the other consoles |
devmgmt.msc | Device Manager |
dfrg.msc | Disk Defragmenter |
diskmgmt.msc | Disk Management |
gpedit.msc | Group Policy Editor. Windows XP Professional only |
services.msc | Manages the many services involved in Windows and installed software |
我在负责项目时存在如下缺点:
项目任务分配不明确,
task breakdown 的缺点:
task之间关联性强.理想的应该是每个task都是独立的,上下文依赖不强烈的,即如果分给一个新人的话可以快速上手.
task大小不均匀,有些task设计到很细的细节,有些又非常笼统.
task时间估计不准确.
遇到技术难题时如何处理?
Today I spent several hours writing an email to our PD,who is in German, to tell him that we have difficulties in implementing some features of preview office document in our project. Within the email, a demo project was also attached to help her understand our situation of what we have done and what are easy or difficult to implemented for us. What supprise me is that PD abondoned several features which are hard to us.It is really reduced the pressure for us and win more time to fix the remaining defects.
So, when communicated with your custommer, who has limit to technique,a demo is really a power tool for the effectivity communication.
软件中常常用到各种图片作为资源来美化界面. 如menu, toolbar, logo, splash, control,etc 中都会加载图片. 而图片的格式也非常多: icon,bitmap,png,gif,jpeg, etc. 其中图片还有bit的概念,如16bit,24bit,32bit,256bit.
这篇文章希望能全面总结各种图片的用法.
Localization 的三种方法:
1. 字符串等各种资源都写在 rc文件中,然后localization 各个版本的rc文件既可.这是mfc开发中常见的方式,如emule就是这样.
2. 写在xml中.
3.写在text中,见compass.
Del.icio.us : localization
Teamwork
Definition: Ability to work effectively as part of a team.
Level 1: Basic Understanding
Understands importance of a cohesive work effort.
Understands the concept of synergy.
Can identify primary and ancillary members of own team.
Can identify characteristics of good teamwork.
Level 2: Hands-on Experience
Is Knowledgeable in team mission and objectives.
Understands own role and responsibility within team.
Is open, friendly, accepting, and supportive with team members.
Openly and proactively shares information, knowledge and experiences.
Actively participates at team meetings.
Level 3: Extensive Experience
Is experienced in working on a wide range of teams across various locations and time zones.
Develops an effective working relationship with each team member.
Shows respect for differences and diversity.
Identifies and addresses potential problems, issues within the team.
Consistently earns trust, respect and loyalty of team members.
Understand roles, responsibilities and interdependence of all team members.
Level 4: Subject Matter Breadth and Depth
Takes pride in and promotes individual and team accomplishments; shares credit.
Monitors individual and team effectiveness; recommends or makes improvements.
Monitors individual and team morale; intervenes appropriately.
Maintains high levels of enthusiasm and energy under difficult or adverse situation.
Influential in helping determine team strategy and policy.
Active in identifying and establishing team role in accomplishing organizational goals.
Technical Troubleshooting
Definition: Knowledge of approaches, tools and techniques for anticipating, recognizing, and resolving technical (hardware, software, application or operational) problems.
Level 1: Basic Understanding
Understands basic concepts behind a systematic approach to solving technical problems.
Aware of problem identification, reporting and escalation procedures.
Familiar with available resources and support systems for troubleshooting.
Level 2: Hands-on Experience
Hands-on experience with troubleshooting technical problems.
Experienced with vendor-specific diagnostic guides, tools and utilities.
Has experienced, analyzed, and resolved hardware, software or application problems.
Can describe common hardware, software and communications problems and likely resolutions.
Can cite specific technical problems and describe process and tools used to resolve.
Level 3: Extensive Experience
Experienced with addressing a variety of hardware, software, and communications malfunctions.
Can identify business impact of failure and the criticality and timing of needed resolution.
Can describe specific techniques for isolating a problem and defining resolution approach.
Uses advanced diagnostic techniques and tools for unusual or performance-related problems.
Experienced with resolving integration or communications problem in multi-vendor environment.
Has used vendor-specific troubleshooting resources, facilities and services.
Level 4: Subject Matter Breadth and Depth
Has significant experience in resolving complex, multi-component failures.
Can elaborate on ways of distinguishing hardware, software and communications problems.
Experienced with troubleshooting non-recurring and performance-related problems.
Can discuss alternative troubleshooting approaches and their applicability to types of problems.
Has successfully organized teams of own and vendor experts to resolve major problems.
Programming Languages
Definition: Knowledge of tools and programming languages for writing and modifying programs that comprise an application system.
Level 1: Basic Understanding
Can describe basic concepts of programming and program construction activities.
Can use programming documentation including program specifications.
Familiar with the capabilities of major programming languages.
Can identify locally relevant programming tools.
Level 2: Hands-on Experience
Familiar with the syntax, structure, features and facilities of at least one language.
Can read and interpret an application system design and program specifications.
Can develop structured programming specifications.
Has written programs in a specific language and for a specific platform.
Knows and applies structured programming techniques for structured environments.
Level 3: Extensive Experience
Experienced with multiple programming languages.
Oversees major developmental efforts adhering to the application system design.
Conducts walk-throughs and monitors quality of the development activities.
Can discuss similarities, differences, advantages and drawbacks of different languages.
Assesses the impact of new productivity improvement tools on area of responsibility.
Able to compare characteristics and advantages of different programming techniques.
Level 4: Subject Matter Breadth and Depth
Expertise in multiple programming languages.
Has consulted on program development: methods, tools, techniques, standards and procedures.
Comprehensive experience in development of complex, cross-functional applications.
Has defined programming development activities, checkpoints and deliverables.
Has consulted on the optimal use and choice of programming platform for a given application.
Monitors industry experience; recommends languages for inclusion in toolkit.
Software Implementation
Definition: Knowledge of activities, tasks, practices, deliverables and techniques for developing high-quality, stable software code for use in products and solutions for customers.
Level 1: Basic Understanding
Can identify major activities associated with software implementation.
Can cite industry or company examples of software implementation.
Understands considerations, including roles and responsibilities, of implementating software.
Knows where and how to obtain more information about company software implementation standards, policies and practices.
Level 2: Hands-on Experience
Has experience implementating software in a limited (homogeneous) environment.
Has worked with all basic facets of software implementation.
Adheres to relevant standards, policies and practices of software implementation.
Can cite examples of software implementation in different environments.
Level 3: Extensive Experience
Has experience implementing software implementation in multiple and diverse environments.
Has in-depth knowledge of most aspects of software implementation.
Has knowledge of company and industry best practices for software implementation and their rationale.
Has experience with relationships, inter-dependencies and integration for software implementation.
Facilitates implementation reviews for complex applications.
Has led development of implementation plans.
Level 4: Subject Matter Breadth and Depth
Comprehensive knowledge and broad expertise with software implementation in multiple and diverse environments and applications.
Can discuss alternative software implementation approaches and associated risks and benefits.
Has knowledge of and experience with all major functions, issues and considerations of software implementation.
Has played a leadership role in establishing software implementation standards, policies, strategy and best practices, or has had influence on wide or high-impact decisions and initiatives regarding software implementation.
Can discuss industry and trends and directions for software implementation and cite relevant case studies.
Has a theoretical background and understanding of software implementation; can discuss historical and future perspective.
Application Design, Architecture
Definition: Knowledge of and experience with activities, tools and techniques for converting business requirements and logical models into a technical application design.
Level 1: Basic Understanding
Can describe basic activities and deliverables associated with application design.
Understands the technical architecture relevant to own environment.
Can identify and describe the specific tasks, activities and deliverables of technical design.
Aware of technical architecture standards and considerations.
Level 2: Hands-on Experience
Experienced with the technical design of an application.
Has used specific development platforms, system and program design tools.
Has participated in technical design reviews.
Develops and presents design alternatives for small to medium complexity applications.
Can describe tasks, activities, deliverables and key concerns of technical design.
Level 3: Extensive Experience
Has developed different and multiple technical designs.
Has prepared technical design documents and blueprints.
Experienced with facilitating design reviews and walk-throughs.
Can describe application services such as API and their integration into the technical design.
Created and evaluated technical alternatives for complex applications.
Explored and evaluated design considerations for multiple technologies.
Level 4: Subject Matter Breadth and Depth
Has in-depth knowledge and experience with multiple designs on multiple technology platforms.
Key contributor to selection and evaluation of emerging design tools and techniques.
Has played a leading role in the development of technical standards and platforms.
Provides consulting on one or more aspects of the technical architecture.
Has consulted on the technical design of a high-impact, multi-technology complex application.
Provides consulting and educational support to associates and business line areas.
Project Task Estimating and Scheduling
Definition: Ability to accurately estimate development effort required for specified features as input to overall project plans.
Level 1: Basic Understanding
Can identify key concepts of estimating and scheduling project tasks.
Can define and explain feature estimating and scheduling.
Is aware of benefits of accurately estimating and scheduling project tasks.
Knows where and how to obtain more information about estimating and scheduling project tasks.
Level 2: Hands-on Experience
Has experience estimating and scheduling project tasks in a limited (homogeneous) environment.
Has worked with all basic components of estimating and scheduling project tasks.
Can identify relevant standards, policies and practices for estimating and scheduling project tasks.
Has an understanding of operational issues and considerations of estimating and scheduling project tasks.
Can cite examples of estimating and scheduling project tasks under various conditions.
Level 3: Extensive Experience
Has in-depth knowledge of and experience with estimating and scheduling project tasks in multiple and diverse environments.
Has devised detailed project plans including schedule and resource requirements.
Can describe tools, techniques and methods for estimating software development tasks.
Has participated in evaluating risks and creating contingency plans to meet project deadlines.
Has knowledge of company and industry best practices and key operational issues and considerations for estimating and scheduling project tasks and their rationale.
Considers relationships, inter-dependencies and integration when estimating and scheduling project tasks.
Level 4: Subject Matter Breadth and Depth
Has extensive experience estimating and scheduling project tasks in multiple and diverse environments and under various conditions.
Has managed and consulted on complex high-risk projects involving multiple parties.
Maintains open communication among project participants and affected parties.
Has played a leadership role in establishing standards, policies, strategy and best practices for estimating and scheduling project tasks.
Has a theoretical background and understanding of estimating and scheduling project tasks.
Written Communications
Definition: Ability to produce a variety of business documents that demonstrate command of language, clarity of thought and orderliness of presentation.
Level 1: Basic Understanding
Recognizes the need for clear and concise written communications.
Can offer good and poor examples of business or technical writing.
Can identify characteristics of a well written business document.
Is able to describe and document factual work situations.
Level 2: Hands-on Experience
Is able to write a grammatically correct, standard business correspondence.
Is aware of company policies and procedures on writing internal and external correspondence.
Responds positively to editorial feedback.
Has participated in the development of documentation.
Can discuss the considerations for writing for different audiences.
Level 3: Extensive Experience
Is experienced in developing numerous reports, proposals or documentation.
Has written effectively for a variety of audiences in appropriate language.
Has produced written materials in business and industry-specific technical language.
Has developed materials at varied levels of details.
Has developed a variety of written reports, white papers and proposals.
Understands how and when to use persuasion effectively.
Level 4: Subject Matter Breadth and Depth
Effective at conveying difficult or complex material in an easy to understand style and manner.
Has extensive knowledge of the critical elements of effective and efficient written communications.
Comprehensive knowledge and experience in writing for business and professional publications.
Has authored or co-authored white papers on specialized and state-of-the art topics.
Has written reports, articles, or books for distribution to the business or professional community.
Has used a broad range of techniques in communicating complex ideas to diverse populations.
Oral Communications
Definition: Has the ability to express oneself and communicate with others verbally; recognizing that verbal communication is more than just language - it includes tone, style and structure.
Level 1: Basic Understanding
Can speak clearly and understandably.
Can offer examples of good and poor verbal communicators.
Can describe some non-verbal behaviors that impact the spoken word.
Uses words, grammar and mannerisms appropriate to own function or work environment.
Level 2: Hands-on Experience
Seeks feedback on own verbal and non-verbal style and effectiveness.
Is able to use language appropriate to audience, avoiding technical jargon as appropriate.
Is able to listen without defensiveness or excessive self-reference.
Is aware of own non-verbal behaviors and messages.
Is able to explain an issue in alternative ways to accommodate different listeners.
Level 3: Extensive Experience
Is aware of techniques for validating that a verbal message was received as intended.
Has a history of communicating effectively with technical and business staff.
Effective at adapting structure and level of detail to the needs of others.
Speaks well without preparation (extemporaneously).
Is able to adapt tone and style to alternative audiences.
Has been able to maintain a dialogue in difficult situations; can cite examples.
Level 4: Subject Matter Breadth and Depth
Has consistently communicated difficult or complex ideas clearly and effectively.
Has communicated effectively with senior technical and business associates.
Has communicated effectively with a wide variety of technical and business audiences.
Analyzes and presents the right message or issue in a clear, concise, and logical manner.
Has experience with public speaking (e.g. professional groups, conferences, media).
Uses a broad range of techniques in communicating complex ideas to diverse populations.
Problem Solving
Definition: Knowledge of approaches, tools, techniques for recognizing, anticipating, and resolving organizational, operational or process problems.
Level 1: Basic Understanding
Understands basic concepts behind a disciplined approach to problem solving.
Is familiar with problem reporting and escalation practices.
Is aware of procedures for problem analysis and resolution process.
Can identify key aspects of problem solving techniques used in own area.
Level 2: Hands-on Experience
Has used fact-finding techniques and diagnostic tools to identify problems.
Has identified and documented specific problems and resolution alternatives.
Can identify alternative techniques for assessing accuracy and relevance of information.
Has analyzed alternatives, risks and benefits and obtained decision on resolution.
Can describe a specific problem and offer the perspective of each involved stakeholder.
Level 3: Extensive Experience
Has used specific problem solving approaches and techniques on different types of problems.
Has identified and organized potential problem solvers and led a problem resolution effort.
Is experienced with alternative problems solving methodologies, approaches and their optimal uses.
Has analyzed and synthesized information and devised alternative resolution strategies.
Has repeatedly brought about successful resolutions to critical or wide-impact problems.
Has contributed to best practices for problem solving approaches, tools and processes.
Creativity
Definition: Knowledge of approaches, tools and techniques for promoting creative, original thinking and applying it to existing and emerging situations.
Level 1: Basic Understanding
Has a basic understanding of using creativity in business.
Listens to new ideas with an open mind.
Can discuss characteristics of a creative environment.
Understands existing incentive and reward systems for innovation and creativity.
Level 2: Hands-on Experience
Exhibits interest in new ideas and experimentation.
Shares ideas and is open to other opinions and views.
Explores possibilities, opportunities and viability.
Analyzes own assignments and work environment objectively.
Has contributed to and encouraged ideas; has built on suggestions of others.
Level 3: Extensive Experience
Challenges ways of operating; looks for problems, bottlenecks or inefficiencies.
Maintains balance between innovation and pragmatism.
Monitors innovations in field and explores usefulness in own function.
Encourages, solicits and rewards imaginative ideas.
Supports experimentation and accepts occasional setbacks or failures.
Challenges conventional thinking - adept at looking at old problems in new ways.
Level 4: Subject Matter Breadth and Depth
Creates a climate that cultivates imagination, new ideas and experimentation.
Promotes a climate that encourages fresh perspectives and ideas.
Positions setbacks or failures as learning opportunities.
Has championed new initiatives within and beyond scope of position.
Encourages brainstorming, unrestrained thinking and innovative ideas.
Directs creativity toward effective implementation of technology-related solutions.
Del.icio.us : evaluation
静态链接库与动态链接库都是共享代码的方式,用来提供变量、函数或类.
一. DLL vs Lib:
1.
如果采用静态链接库,则无论你愿不愿意,lib中的指令都被直接包含在最终生成的EXE文件中了。
但是若使用DLL,该DLL不必被包含在最终EXE文件中,EXE文件执行时可以"动态"地引用和卸载这个与EXE独立的DLL文件。
2.
静态链接库中不能再包含其他的动态链接库或者静态库,
动态链接库中还可以再包含其他的动态或静态链接库。
二: 三种系统dll.
kernel32.dll 中的函数主要处理内存管理和进程调度;
user32.dll 中的函数主要控制用户界面;
gdi32.dll 中的函数则负责图形方面的操作。
在VC6中有四种形式的MFC DLL(在该DLL中可以使用和继承已有的MFC类)可供选择,即
Regular statically linked to MFC DLL(标准静态链接MFC DLL)
Regular using the shared MFC DLL(标准动态链接MFC DLL)
Extension MFC DLL(扩展MFC DLL)
Non-MFC DLL(非MFC 动态库)
第一种DLL的特点是,在编译时把使用的MFC代码加入到DLL中,因此,在使用该程序时不需要其他MFC动态链接类库的存在,但占用磁盘空间比较大;
第二种DLL的特点是,
在运行时,动态链接到MFC类库,因此减少了空间的占用,但是在运行时却依赖于MFC动态链接类库;
它包含一个继承自CWinApp的类,但其无消息循环;
这两种DLL既可以被MFC程序使用也可以被Win32程序使用。
第三种DLL的特点类似于第二种,做为MFC类库的扩展,只能被MFC程序使用。
第四种dll的特点是, 非MFC动态库不采用MFC类库结构,其导出函数为标准的C接口,能被非MFC或MFC编写的应用程序所调用;
void CHook1View::OnContextMenu(CWnd* /*pWnd*/, CPoint point)
{
CMenu menu;
menu.LoadMenu(IDR_MAINFRAME );
CMenu* pmenu;
pmenu=menu.GetSubMenu(0);
pmenu->TrackPopupMenu(0,point.x,point.y,this);
}
This blog is just for a test, that whether could publish a blog with Zoundry.
It seems that able to post iamge,that's great!