安装:
PVOID OldValue = NULL; Wow64DisableWow64FsRedirection(&OldValue); if ( GetFileAttributes(stShortcut.strTarget)!=-1 ) { ShellExecute(NULL, "open", stShortcut.strTarget, stShortcut.strParams, stShortcut.strStartPath, SW_NORMAL); }else{ AfxMessageBox("目标文件不存在:\n" + stShortcut.strTarget); } Wow64EnableWow64FsRedirection(TRUE);
1.dll劫持 粗略整理了下,可以劫持的dll有(持续更新): lpk.dll、usp10.dll、msimg32.dll、midimap.dll、ksuser.dll、comres.dll、ddraw.dll
程序员吃饺子:一个熬夜加班回到家的程序员,妻子给他端上一碗饺子,他吃了一口之后突然脱口而出一段代码: #include <iostream> using namespace std; int main(void) { char a[50]; cout<<a<<endl; }
这次修改主要是DuiDesigner工程,duilib工程无须任何修改。
1、显示:CUIProperties::ShowContainerProperty
以RichListRes为例,用修改后的DuiDesigner重新载入xml皮肤配置文件,稍作修改并撤销然后保存,为的是重新保存xml文件,运行RichListRes工程会崩溃。
参考:http://blog.csdn.net/tragicguy/article/details/21893065
实际使用发现CComboUI的textpadding为 5 较好,在CComboUI::CComboUI中添加: m_rcTextPadding.left = 5;
动态跟进CComboUI::SelectItem: ```c bool CComboUI::SelectItem(int iIndex, bool bTakeFocus) { if( m_pWindow != NULL ) m_pWindow->Close(); if( iIndex == m_iCurSel ) return true; int iOldSel = m_iCurSel; if( m_iCurSel >= 0 ) { CControlUI* pControl = static_cast<CControlUI>(m_items[m_iCurSel]); if( !pControl ) return false; IListItemUI pListItem = static_cast<IListItemUI>(pControl->GetInterface(_T(“ListItem”))); if( pListItem != NULL ) pListItem->Select(false); m_iCurSel = -1; } if( iIndex < 0 ) return false; if( m_items.GetSize() == 0 ) return false; if( iIndex >= m_items.GetSize() ) iIndex = m_items.GetSize() - 1; CControlUI pControl = static_cast<CControlUI>(m_items[iIndex]); if( !pControl || !pControl->IsVisible() || !pControl->IsEnabled() ) return false; IListItemUI pListItem = static_cast<IListItemUI*>(pControl->GetInterface(_T(“ListItem”))); if( pListItem == NULL ) return false; m_iCurSel = iIndex; if( m_pWindow != NULL || bTakeFocus ) pControl->SetFocus(); pListItem->Select(true); if( m_pManager != NULL ) m_pManager->SendNotify(this, DUI_MSGTYPE_ITEMSELECT, m_iCurSel, iOldSel); Invalidate();