|
[原创]北京瑞星公司招聘信息
膜拜楼上的~! |
|
|
|
[求助]关于研究GetWindowTextA一点疑问!
NtUserQueryWindow. |
|
|
|
[求助]覆盖小图标
可以实现,需要继承IShellIconOverlayIdentifier接口, 如下: .H ==================================================================== class ATL_NO_VTABLE CMyOverlayIcon : public CComObjectRootEx<CComSingleThreadModel>, public CComCoClass<CMyOverlayIcon, &CLSID_MyOverlayIcon>, public IDispatchImpl<IMyOverlayIcon, &IID_IMyOverlayIcon, &LIBID_OverlayIconLib, /*wMajor =*/ 1, /*wMinor =*/ 0>, public IShellIconOverlayIdentifier { public: CMyOverlayIcon() { } DECLARE_REGISTRY_RESOURCEID(IDR_MYOVERLAYICON) BEGIN_COM_MAP(CMyOverlayIcon) COM_INTERFACE_ENTRY(IMyOverlayIcon) COM_INTERFACE_ENTRY(IDispatch) COM_INTERFACE_ENTRY(IShellIconOverlayIdentifier) END_COM_MAP() DECLARE_PROTECT_FINAL_CONSTRUCT() // IShellIconOverlayIdentifier Methods STDMETHOD(GetOverlayInfo)(LPWSTR pwszIconFile,int cchMax,int *pIndex,DWORD* pdwFlags); STDMETHOD(GetPriority)(int* pPriority); STDMETHOD(IsMemberOf)(LPCWSTR pwszPath,DWORD dwAttrib); HRESULT FinalConstruct() { return S_OK; } void FinalRelease() { } public: }; OBJECT_ENTRY_AUTO(__uuidof(MyOverlayIcon), CMyOverlayIcon) .CPP =================================================================== STDMETHODIMP CMyOverlayIcon::GetOverlayInfo( LPWSTR pwszIconFile, int cchMax,int* pIndex, DWORD* pdwFlags) { GetModuleFileNameW(_AtlBaseModule.GetModuleInstance(), pwszIconFile, cchMax); *pIndex = 0; *pdwFlags = ISIOI_ICONFILE | ISIOI_ICONINDEX; return S_OK; } // IShellIconOverlayIdentifier Method Implementation // returns the priority of this overlay 0 being the highest. // this overlay is always selected do to its high priority STDMETHODIMP CMyOverlayIcon::GetPriority(int* pPriority) { // highest priority *pPriority=0; return S_OK; } // IShellIconOverlayIdentifier Method Implementation // IShellIconOverlayIdentifier::IsMemberOf // Returns Whether the object should have this overlay or not STDMETHODIMP CMyOverlayIcon::IsMemberOf(LPCWSTR pwszPath, DWORD dwAttrib) { wchar_t *s = _wcsdup(pwszPath); HRESULT r = S_FALSE; _wcslwr(s); // Criteria if (wcsstr(s, L"thinksj") != 0) r = S_OK; free(s); return r; } 但是感觉这个接口不是很方便, 需要先从GetOverlayInfo函数中将图标索引返回给Shell,然后再通过IsMemberOf函数判断是否显示 这个例子改自CodeProject上的一段代码,链接忘了. |
|
[求助]MFC 不支持 默认拷贝构造函数???
CObject中的复制与赋值函数都是私有的. |
|
|
|
[原创][南京] 招聘程序合作开发及测试兼职人员(学生优先)
可能指的是基于Windows系统的开发吧 |
|
[求助] 这个禁止破解者修改《关于对话框》 里的版权保护的字符串是否有效?
不用怕怕,开源就行了. |
|
[原创]借贵宝地诚聘-360安全卫士,期待你来华山论剑![实时更新,请随时关注]
请问楼主.公司是不是在北京? |
|
[原创]消失!消失!再不消失就把你"关掉"!(已添加下载连接)
始终是赶不上牛人的步伐啊~ |
|
[结束]网络攻防007——奇虎360软件安全大赛
奖品太诱人了, , |
|
[原创][代码之美][自主命题]利用Thunk技术将Win32回调函数转换为C++成员函数
上个星期在逆向一个WTL程序时发现它对于CEdit控件的子类化(GWL_WNDPROC)就用到了LZ代码中的stdcall的方式(但稍有不同),当时觉得很新鲜就写下来留了个纪念,没想到LZ的代码都已经这么完善了,赞一个. :) |
操作理由
RANk
{{ user_info.golds == '' ? 0 : user_info.golds }}
雪币
{{ experience }}
课程经验
{{ score }}
学习收益
{{study_duration_fmt}}
学习时长
基本信息
荣誉称号:
{{ honorary_title }}
能力排名:
No.{{ rank_num }}
等 级:
LV{{ rank_lv-100 }}
活跃值:
在线值:
浏览人数:{{ visits }}
最近活跃:{{ last_active_time }}
注册时间:{{ user_info.create_date_jsonfmt }}
勋章
兑换勋章
证书
证书查询 >
能力值