求助:MFC下SW_HIDE隐藏进程不完全

如图,按下隐藏计算器后图片说明
计算器留下了黑底。

隐藏按钮代码如下


HWND c[1000];int i = 0;
HWND d[1000];int k = 0;
void S::OnBnClickedButton3()
{

    myEnumWindow(NULL, id1);

    HANDLE hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
    DWORD id;
    PROCESSENTRY32 pe;
    pe.dwSize = sizeof(pe);

    BOOL ret = Process32First(hSnapshot, &pe);
    string a;
    string str;
    char buf[50000];
    int r = 0;

    while (ret) {
        WCHAR* wc = pe.szExeFile;
        _bstr_t b(wc);
        char *c = b;
        string d(c);
        id = pe.th32ProcessID;
        if (d == "Calculator.exe") { r = 1; break; }
        ret = Process32Next(hSnapshot, &pe);
    }

    EnumWindows(findEnumWindowCallBack, id);

    for (int j = 0;j < i;j++) {
        ::ShowWindow(c[j], SW_HIDE);

    }
    i = 0;

}


我这个MFC小白真的是没有什么办法了,求大神指教

mfc

2个回答

 HWND hWnd = ::FindWindow(NULL, TEXT("Calculator"));
    if (NULL != hWnd)
    {
        ::ShowWindow(hWnd, SW_HIDE);
    }
qq_41877954
EmmmQAQ 多谢帮助,已解决
一年多之前 回复

留下黑底不关sw_hide的事情,是你下一层的窗口没有刷新。具体要看下面窗口怎么写的,发一个wm_paint让它重绘下。

qq_41877954
EmmmQAQ 我这个只是打开计算器,在隐藏它,请问下一层窗口是指?
一年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
求助:MFC下隐藏进程不完全
我写了个打开计算器并且可以隐藏计算器进程的代码 如图,按下打开计算器后 ![图片说明](https://img-ask.csdn.net/upload/201810/15/1539600310_76474.png) 但是在按下隐藏计算器后,出现了问题 ![图片说明](https://img-ask.csdn.net/upload/201810/15/1539600339_906451.png) 会留下底框 下面是隐藏计算器的代码 ``` myEnumWindow(NULL, id1); HANDLE hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0); DWORD id; PROCESSENTRY32 pe; pe.dwSize = sizeof(pe); BOOL ret = Process32First(hSnapshot, &pe); string a; string str; char buf[50000]; int r = 0; while (ret) { WCHAR* wc = pe.szExeFile; _bstr_t b(wc); char *c = b; string d(c); id = pe.th32ProcessID; if (d == "Calculator.exe") { r = 1; break; } ret = Process32Next(hSnapshot, &pe); } EnumWindows(findEnumWindowCallBack, id); for (int j = 0;j < i;j++) { ::ShowWindow(c[j], SW_HIDE); } i = 0; ``` 我这个小白实在是无能为力,求各位帮助。 刚刚又执行了几次,发现只有计算器会出现问题, 改成记事本,cmd.exe都可以隐藏。 我又试了一下,在网上下载了xp系统的计算器后,发现程序可以运行 难道是win10的计算器有什么不一样吗?
MFc中,窗口切换后,showwindow(SW_HIDE)没有起作用
如题,在父类窗口的头文件中创建了一个子类窗口的对象,并在程序中初始化 Freqcontent.Create(IDD_Content,this); 在之后的函数中我需要根据在父类窗口上点击鼠标的位置不同而反复显示隐藏子类窗口。 我在Lbuttondown函数中进行 Freqcontent.ShowWindow(SW_SHOWNORMAL); 之后点击父类窗口,需要隐藏掉上一子类窗口,并在新的位置再次显示子类窗口。 可是窗口切换后,Freqcontent.ShowWindow(SW_HIDE);不起作用 断点调试发现Freqcontent.ShowWindow(SW_HIDE); 并没有隐藏窗口。 求指导 问题补充,通过调用iswindowvisible可以发现,之前返回值为true,在调用Freqcontent.ShowWindow(SW_HIDE);后返回值为0,表示窗口已经隐藏。 但事实上窗口依然显示在界面上。
MFC断言ASSERT(::IsWindow(m_hWnd))
一个HomeWork的单文档MFC工作空间,新建了一个继承CWnd的CNew类, 在CNew中 重写void CNew::OnPaint() { CPaintDC dc(this); dc.MoveTo(0,0); dc.LineTo(300,300); } 定义 void CNew::Clear() { InvalidateRect(NULL,TRUE); } 然后新增一个菜单项Clear,添加菜单命令相应函数 void CHomeWorkView::OnCLear() { new.Clear();//new 已经定义成CHomeWork的成员变量 } 出现这种错误: _AFXWIN_INLINE void CWnd::InvalidateRect(LPCRECT lpRect, BOOL bErase) { ASSERT(::IsWindow(m_hWnd)); ::InvalidateRect(m_hWnd, lpRect, bErase); } 求大神帮帮忙,我在百度上搜了很久了,没找到解决方案,有一个方案是这样的 ---------------->>>我遇到的情况是,A类的Clear函数中调用了this->Invalidate();,而B类调用了A类的Clear函数,此时A类还未实例化,所以A类句柄为空,m_hWnd = NULL。我的解决方法是将A类的实例化放在B类前,问题解决。,<<<-------------- 没办法,还是没解决掉,故而来求大神解决了,我才刚刚学MFC
我想请教一下,0帮我解释释一下错误误,发发现了,改不了!!
麻烦高手看一下,2BOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){BOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){CCDialBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){BOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){CCDialoog::OnInitDiBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){BOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){CCDialBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){BOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){CCDialoog::OnInitDiaalog();m_strBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){BOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){CCDialBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){BOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){CCDialoog::OnInitDiBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){BOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){CCDialBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){BOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){CCDialoog::OnInitDiaalog();m_strNNext=_T(BOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){BOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){CCDialBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){BOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){CCDialoog::OnInitDiBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){BOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){CCDialBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){BOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){CCDialoog::OnInitDiaalog();m_strBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){BOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){CCDialBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){BOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){CCDialoog::OnInitDiBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){BOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){CCDialBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){BOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){CCDialoog::OnInitDiaalog();m_strNNext=_T('''BOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){BOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){CCDialBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){BOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){CCDialoog::OnInitDiBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){BOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){CCDialBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){BOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){CCDialoog::OnInitDiaalog();m_strBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){BOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){CCDialBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){BOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){CCDialoog::OnInitDiBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){BOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){CCDialBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){BOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){CCDialoog::OnInitDiaalog();m_strNNext=_T(BOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){BOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){CCDialBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){BOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){CCDialoog::OnInitDiBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){BOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){CCDialBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){BOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){CCDialoog::OnInitDiaalog();m_strBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){BOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){CCDialBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){BOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){CCDialoog::OnInitDiBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){BOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){CCDialBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){BOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){CCDialoog::OnInitDiaalog();m_strNNext=_T('''));m_strCur=BOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){BOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){CCDialBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){BOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){CCDialoog::OnInitDiBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){BOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){CCDialBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){BOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){CCDialoog::OnInitDiaalog();m_strBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){BOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){CCDialBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){BOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){CCDialoog::OnInitDiBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){BOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){CCDialBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){BOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){CCDialoog::OnInitDiaalog();m_strNNext=_T(BOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){BOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){CCDialBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){BOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){CCDialoog::OnInitDiBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){BOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){CCDialBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){BOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){CCDialoog::OnInitDiaalog();m_strBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){BOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){CCDialBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){BOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){CCDialoog::OnInitDiBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){BOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){CCDialBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){BOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){CCDialoog::OnInitDiaalog();m_strNNext=_T('''BOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){BOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){CCDialBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){BOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){CCDialoog::OnInitDiBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){BOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){CCDialBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){BOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){CCDialoog::OnInitDiaalog();m_strBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){BOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){CCDialBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){BOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){CCDialoog::OnInitDiBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){BOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){CCDialBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){BOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){CCDialoog::OnInitDiaalog();m_strNNext=_T(BOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){BOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){CCDialBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){BOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){CCDialoog::OnInitDiBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){BOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){CCDialBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){BOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){CCDialoog::OnInitDiaalog();m_strBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){BOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){CCDialBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){BOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){CCDialoog::OnInitDiBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){BOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){CCDialBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){BOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnIBOOLCCBOOLCCaalc_mfcBOOLCCBOOLCCaalc_mfcDDlg::OnInnitDialog(){CCDialoog::OnInitDiaalog();m_strNNext=_T('''));m_strCur=__T('');m_strPre=_#
关于MFC ribbon界面全屏的问题
想实现ribbon界面全屏,代码: ``` void CMainFrame::FullScreenModeOn() { m_wndRibbonBar.ShowWindow(SW_HIDE);//隐藏工具栏 m_wndStatusBar.ShowWindow(SW_HIDE);//隐藏状态栏 //隐藏菜单栏 SetMenu(NULL); // 保存以前的位置信息 GetWindowRect(&m_mainRect); // 去除主窗口的标题 LONG style=::GetWindowLong(m_hWnd,GWL_STYLE); style&=~WS_CAPTION; ::SetWindowLong(m_hWnd,GWL_STYLE,style); //得到当前系统的分辨率 int screenx=GetSystemMetrics(SM_CXSCREEN); int screeny=GetSystemMetrics(SM_CYSCREEN); // 全屏显示 SetWindowPos(NULL,-4,-4,screenx+8,screeny+8,SWP_NOZORDER); style=::GetWindowLong(this->m_hWnd,GWL_STYLE); } 调用此函数实现全屏后,由于还没实现退出全屏,我就强行关闭了软件 后面修改代码在oncreate函数里调用退出全屏函数: void CMainFrame::FullScreenModeOff() { //恢复窗口标题 LONG style=::GetWindowLong(m_hWnd,GWL_STYLE); style|=WS_CAPTION; ::SetWindowLong(m_hWnd,GWL_STYLE,style); //如果需要,显示工具栏 m_wndRibbonBar.ShowWindow(SW_SHOW); //如果需要,显示状态栏 m_wndStatusBar.ShowWindow(SW_SHOW); //恢复窗口以前的大小 MoveWindow(&m_mainRect); //恢复菜单栏 this->SetMenu(&m_menuMainWnd); } 退出全屏后也看不到ribbon界面了,只剩下一个标题栏,而且我将该项目删除之后重新新建一个 名字相同的mfc office的单文档程序,直接跑出来也是看不到ribbon界面,只有一个标题栏
mfc音乐播放器mcisendstring里面的,怎么实现顺序播放歌曲?
在musicdlg.h里面 protected: afx_msg LRESULT OnMCINotify(WPARAM wParam, LPARAM lParam); 在musicdlg.cpp里面 BEGIN_MESSAGE_MAP(CLrsfMusicDlg, CDialogEx) ON_WM_SYSCOMMAND() ON_WM_PAINT() ON_WM_QUERYDRAGICON() ON_BN_CLICKED(IDC_minbtn, &CLrsfMusicDlg::OnBnClickedminbtn) ON_BN_CLICKED(IDC_exitbtn, &CLrsfMusicDlg::OnBnClickedexitbtn) ON_WM_NCHITTEST() ON_BN_CLICKED(IDC_searchbtn, &CLrsfMusicDlg::OnBnClickedsearchbtn) ON_WM_CTLCOLOR() ON_BN_CLICKED(IDC_playbtn, &CLrsfMusicDlg::OnBnClickedplaybtn) ON_BN_CLICKED(IDC_stopbtn, &CLrsfMusicDlg::OnBnClickedstopbtn) ON_BN_CLICKED(IDC_lastbtn, &CLrsfMusicDlg::OnBnClickedlastbtn) ON_BN_CLICKED(IDC_nextbtn, &CLrsfMusicDlg::OnBnClickednextbtn) ON_LBN_DBLCLK(IDC_musiclist, &CLrsfMusicDlg::OnDblclkMusiclist) ON_WM_TIMER() ON_MESSAGE(MM_MCINOTIFY, OnMCINotify) //传递消息 END_MESSAGE_MAP() mcisendstring里面先open了,然后play play ="play.....+notify"; hwnd=this->m_hWnd; mciSendString(play, NULL, 0, hwnd); 响应函数 LRESULT CLrsfMusicDlg::OnMCINotify(WPARAM wParam, LPARAM lParam) { /*if (MCI_NOTIFY_SUCCESSFUL == wParam) { MessageBox(L"播放完毕",L"提示"); }*/ //MCI_NOTIFY_SUCCESSFUL == wParam MessageBox(L"播放完毕", L"提示"); return FALSE; } 可就是不弹出消息框啊! 不懂mfc消息传递机制,是哪里写错了
基于MFC做的音乐播放器,新手,不知道问什么调试了没有声音
void Load(HWND hWnd, CString strFilepath)//将文件路径传输给MCI_OPEN_PAPMS { m_hWnd = hWnd; mciSendCommand(DeviceId, MCI_CLOSE, 0, 0); //在加载文件前先清空上一次播放的设备 mciopenparms.lpstrElementName = strFilepath; //将音乐文件路径传给设备 DWORD dwReturn; if (dwReturn = mciSendCommand(NULL, MCI_OPEN, MCI_OPEN_ELEMENT | MCI_WAIT, (DWORD)(LPVOID)&mciopenparms)) { //如果打开玩家失败,将出错信息储存在buffer,并显示出错警告 //char buffer[256]; //获取错误码对应的错误信息 //弹出错误信息提示对话框 } DeviceId = mciopenparms.wDeviceID; //打开文件成功就关联文件到设备 } void Cmfc_music_playerDlg::OnBnClickedfilechoice() { // TODO: 在此添加控件通知处理程序代码 char szFileFilter[] = "mp3文件(*.mp3)|*.mp3|" "wma文件(*.wma)|*.wma|" "wav文件(*.wav)|*.wav|" "所有文件(*.*)|*.*|";//文件类型 CFileDialog dlg(true, NULL, NULL, OFN_HIDEREADONLY, szFileFilter); if (dlg.DoModal() == IDOK) { CString strFilepath = dlg.GetPathName();//返回文件路径 CString strFilename = dlg.GetFileName();//返回文件名 SetDlgItemText(IDC_filename, strFilename); Load(this->m_hWnd, strFilepath); } GetDlgItem(IDC_play)->EnableWindow(true); //文件读取成功时所有按钮变成可选 GetDlgItem(IDC_pause)->EnableWindow(true);//控制按钮的显示 GetDlgItem(IDC_stop)->EnableWindow(true); } //播放 void play() { MCI_PLAY_PARMS mciplayparms; mciplayparms.dwCallback = (DWORD)m_hWnd; mciplayparms.dwFrom = 0; //每次播放都是从0开始播放 mciSendCommand(DeviceId, MCI_PLAY, MCI_FROM | MCI_NOTIFY, (DWORD)(LPVOID)&mciplayparms); } //暂停 void pause() { mciSendCommand(DeviceId, MCI_PAUSE, 0, 0); } //恢复 void resume() { mciSendCommand(DeviceId, MCI_RESUME, 0, 0); } //停止 void stop() { mciSendCommand(DeviceId, MCI_STOP, 0, 0);//当点击停止按钮时,将所有的信息都清除掉 mciSendCommand(DeviceId, MCI_CLOSE, 0, 0);//点关闭按钮的时候,清除设备信息,再点播放按钮,就播放不了音乐了 //当点击停止按钮时,将所有的信息都清除掉 } //设置音量 DWORD setVolume(DWORD vol) { MCI_DGV_SETAUDIO_PARMS setvolume; //设置音量的参数结构体 setvolume.dwCallback = NULL; // setvolume.dwItem = MCI_DGV_SETAUDIO_VOLUME; //动作是设置音量 setvolume.dwValue = vol; //音量值是vol mciSendCommand(DeviceId, MCI_SETAUDIO, MCI_DGV_SETAUDIO_ITEM | MCI_DGV_SETAUDIO_VALUE, (DWORD)(LPVOID)&setvolume); return 0; } class CAboutDlg : public CDialogEx { public: CAboutDlg(); // 对话框数据 enum { IDD = IDD_ABOUTBOX }; protected: virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV 支持 // 实现 protected: DECLARE_MESSAGE_MAP() }; CAboutDlg::CAboutDlg() : CDialogEx(CAboutDlg::IDD) { } void CAboutDlg::DoDataExchange(CDataExchange* pDX) { CDialogEx::DoDataExchange(pDX); } BEGIN_MESSAGE_MAP(CAboutDlg, CDialogEx) END_MESSAGE_MAP() // Cmfc_music_playerDlg 对话框 Cmfc_music_playerDlg::Cmfc_music_playerDlg(CWnd* pParent /*=NULL*/) : CDialogEx(Cmfc_music_playerDlg::IDD, pParent) { m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME); m_int = 0; } void Cmfc_music_playerDlg::DoDataExchange(CDataExchange* pDX) { CDialogEx::DoDataExchange(pDX); DDX_Control(pDX, IDC_SLIDER1, m_slider); // DDX_Slider(pDX, IDC_SLIDER1, m_int); DDX_Text(pDX, IDC_vol, m_int); } BEGIN_MESSAGE_MAP(Cmfc_music_playerDlg, CDialogEx) ON_WM_SYSCOMMAND() ON_WM_PAINT() ON_WM_QUERYDRAGICON() ON_EN_CHANGE(IDC_filename, &Cmfc_music_playerDlg::OnChangeFilename) ON_BN_CLICKED(IDC_pause, &Cmfc_music_playerDlg::OnClickedPause) ON_BN_CLICKED(IDC_play, &Cmfc_music_playerDlg::OnClickedPlay) ON_BN_CLICKED(IDC_stop, &Cmfc_music_playerDlg::OnClickedStop) ON_NOTIFY(NM_CUSTOMDRAW, IDC_SLIDER1, &Cmfc_music_playerDlg::OnCustomdrawSlider) ON_BN_CLICKED(IDC_filechoice, &Cmfc_music_playerDlg::OnBnClickedfilechoice) ON_EN_CHANGE(IDC_vol, &Cmfc_music_playerDlg::OnEnChangevol) ON_BN_CLICKED(IDC_exitbt, &Cmfc_music_playerDlg::OnBnClickedexitbt) END_MESSAGE_MAP() // Cmfc_music_playerDlg 消息处理程序 BOOL Cmfc_music_playerDlg::OnInitDialog() { CDialogEx::OnInitDialog(); // 将“关于...”菜单项添加到系统菜单中。 // IDM_ABOUTBOX 必须在系统命令范围内。 ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX); ASSERT(IDM_ABOUTBOX < 0xF000); CMenu* pSysMenu = GetSystemMenu(FALSE); if (pSysMenu != NULL) { BOOL bNameValid; CString strAboutMenu; bNameValid = strAboutMenu.LoadString(IDS_ABOUTBOX); ASSERT(bNameValid); if (!strAboutMenu.IsEmpty()) { pSysMenu->AppendMenu(MF_SEPARATOR); pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu); } } // 设置此对话框的图标。当应用程序主窗口不是对话框时,框架将自动 // 执行此操作 SetIcon(m_hIcon, TRUE); // 设置大图标 SetIcon(m_hIcon, FALSE); // 设置小图标 m_slider.SetRange(0, 1000); //滑动条的移动范围 0~1000 m_slider.SetPos(500); //滑动条的指针处置位置为500,代表初试音量为500 GetDlgItem(IDC_play)->EnableWindow(false); //文件没有读取时所有按钮不可选 GetDlgItem(IDC_pause)->EnableWindow(false); GetDlgItem(IDC_stop)->EnableWindow(false); // TODO: 在此添加额外的初始化代码 return TRUE; // 除非将焦点设置到控件,否则返回 TRUE } void Cmfc_music_playerDlg::OnSysCommand(UINT nID, LPARAM lParam) { if ((nID & 0xFFF0) == IDM_ABOUTBOX) { CAboutDlg dlgAbout; dlgAbout.DoModal(); } else { CDialogEx::OnSysCommand(nID, lParam); } } // 如果向对话框添加最小化按钮,则需要下面的代码 // 来绘制该图标。对于使用文档/视图模型的 MFC 应用程序, // 这将由框架自动完成。 void Cmfc_music_playerDlg::OnPaint() { if (IsIconic()) { CPaintDC dc(this); // 用于绘制的设备上下文 SendMessage(WM_ICONERASEBKGND, reinterpret_cast<WPARAM>(dc.GetSafeHdc()), 0); // 使图标在工作区矩形中居中 int cxIcon = GetSystemMetrics(SM_CXICON); int cyIcon = GetSystemMetrics(SM_CYICON); CRect rect; GetClientRect(&rect); int x = (rect.Width() - cxIcon + 1) / 2; int y = (rect.Height() - cyIcon + 1) / 2; // 绘制图标 dc.DrawIcon(x, y, m_hIcon); } else { CDialogEx::OnPaint(); } } //当用户拖动最小化窗口时系统调用此函数取得光标 //显示。 HCURSOR Cmfc_music_playerDlg::OnQueryDragIcon() { return static_cast<HCURSOR>(m_hIcon); } void Cmfc_music_playerDlg::OnChangeFilename() { /** TODO: 如果该控件是 RICHEDIT 控件,它将不 发送此通知,除非重写 CDialogEx::OnInitDialog() 函数并调用 CRichEditCtrl().SetEventMask(), 同时将 ENM_CHANGE 标志“或”运算到掩码中。 TODO: 在此添加控件通知处理程序代码*/ } //播放按钮 void Cmfc_music_playerDlg::OnClickedPlay() { // TODO: 在此添加控件通知处理程序代码 play(); SetDlgItemText(IDC_pause, "暂停"); } //暂停和恢复按钮 void Cmfc_music_playerDlg::OnClickedPause() { // TODO: 在此添加控件通知处理程序代码 CString strTemp; GetDlgItemText(IDC_pause, strTemp); //获取按钮的状态 if (strTemp.Compare("暂停") == 0) { pause(); SetDlgItemText(IDC_pause,"恢复"); } if (strTemp.Compare("恢复") == 0) { resume(); SetDlgItemText(IDC_pause, "暂停"); } } //停止按钮 void Cmfc_music_playerDlg::OnClickedStop() { // TODO: 在此添加控件通知处理程序代码 stop(); SetDlgItemText(IDC_pause, "暂停"); } //GetDlgItem(IDC_play)->EnableWindow(false); //当按下stop的时候,播放和暂停不可选 //GetDlgItem(IDC_pause)->EnableWindow(false); void Cmfc_music_playerDlg::OnCustomdrawSlider(NMHDR *pNMHDR, LRESULT *pResult) { UpdateData(true); m_int = m_slider.GetPos() / 10; setVolume(m_slider.GetPos()); UpdateData(false); //LPNMCUSTOMDRAW pNMCD = reinterpret_cast<LPNMCUSTOMDRAW>(pNMHDR); // TODO: 在此添加控件通知处理程序代码 *pResult = 0; } void Cmfc_music_playerDlg::OnEnChangevol() { // TODO: 如果该控件是 RICHEDIT 控件,它将不 // 发送此通知,除非重写 CDialogEx::OnInitDialog() // 函数并调用 CRichEditCtrl().SetEventMask(), // 同时将 ENM_CHANGE 标志“或”运算到掩码中。 // TODO: 在此添加控件通知处理程序代码 } void Cmfc_music_playerDlg::OnBnClickedexitbt() { // TODO: 在此添加控件通知处理程序代码 CDialog::OnCancel(); //退出 } HRESULT Cmfc_music_playerDlg::accDoDefaultAction(VARIANT varChild) { // TODO: 在此添加专用代码和/或调用基类 return CDialogEx::accDoDefaultAction(varChild); } ```
求助:mfc非客户区自绘请求高手指点,不知道该怎么做
想美化一下界面,查资料说要重绘非客户区,看的晕头转向,麻烦高手给指点一下思路,最好有代码可以参考一下
DLL文件包含自己生成的lib文件,编译错误
1. 我先用空项目 添加了lua的文件 生成了 lua.lib文件 2. 我创建了一个MFC_DLL文件 1)在项目->属性->C/C++->附加包含目录里包含了 lua所有.h .c的文件夹 2)在项目->属性->连接器->常规->附加库目录里包含了lua.lib的文件夹 3)在项目->属性->连接器->输入->附加依赖项里输入了lua.lib 我创建的 .h文件的代码 #infndef LUASSSS_H #define LUASSSS_H #include <windows.h> extern "C" { #include "lua.h" #include "lualib.h" #include "lauxlib.h" } extern lua_State *L; #endif 我创建的 .cpp文件的代码 #include "StdAfx.h" #include "Luassss.h" lua_State *L = luaL_newstate(); 代码显示无错误 但是编译的时候出现各种错误 请问是我哪里出错了????? 谢谢帮忙 我自己摸索了2天都没搞定 头都大了 error LNK2005: _strstr 已经在 libcmtd.lib(strstr.obj) 中定义 error LNK2005: _strchr 已经在 libcmtd.lib(strchr.obj) 中定义 error LNK2005: _fclose 已经在 libcmtd.lib(fclose.obj) 中定义 error LNK2005: _ferror 已经在 libcmtd.lib(feoferr.obj) 中定义 error LNK2005: _ungetc 已经在 libcmtd.lib(ungetc.obj) 中定义 error LNK2005: ___iob_func 已经在 libcmtd.lib(_file.obj) 中定义 error LNK2005: _fread 已经在 libcmtd.lib(fread.obj) 中定义 error LNK2005: _feof 已经在 libcmtd.lib(feoferr.obj) 中定义 error LNK2005: __errno 已经在 libcmtd.lib(dosmap.obj) 中定义 error LNK2005: _realloc 已经在 libcmtd.lib(dbgrealloc.obj) 中定义 error LNK2005: _free 已经在 libcmtd.lib(dbgfree.obj) 中定义 1>MSVCRTD.lib(MSVCR100D.dll) : error LNK2005: _exit 已经在 libcmtd.lib(crt0dat.obj) 中定义 1>MSVCRTD.lib(MSVCR100D.dll) : error LNK2005: _isspace 已经在 libcmtd.lib(_ctype.obj) 中定义 1>MSVCRTD.lib(MSVCR100D.dll) : error LNK2005: _strtoul 已经在 libcmtd.lib(strtol.obj) 中定义 1>MSVCRTD.lib(MSVCR100D.dll) : error LNK2005: _strtod 已经在 libcmtd.lib(strtod.obj) 中定义 1>MSVCRTD.lib(MSVCR100D.dll) : error LNK2005: _sprintf 已经在 libcmtd.lib(sprintf.obj) 中定义 1>MSVCRTD.lib(MSVCR100D.dll) : error LNK2005: _strcspn 已经在 libcmtd.lib(strcspn.obj) 中定义 1>MSVCRTD.lib(MSVCR100D.dll) : error LNK2005: _strcoll 已经在 libcmtd.lib(strcoll.obj) 中定义 1>MSVCRTD.lib(MSVCR100D.dll) : error LNK2005: _floor 已经在 libcmtd.lib(_floor_pentium4_.obj) 中定义 1>MSVCRTD.lib(MSVCR100D.dll) : error LNK2005: _iscntrl 已经在 libcmtd.lib(_ctype.obj) 中定义 1>MSVCRTD.lib(MSVCR100D.dll) : error LNK2005: _isalnum 已经在 libcmtd.lib(_ctype.obj) 中定义 1>MSVCRTD.lib(MSVCR100D.dll) : error LNK2005: _isalpha 已经在 libcmtd.lib(_ctype.obj) 中定义 1>MSVCRTD.lib(MSVCR100D.dll) : error LNK2005: _isdigit 已经在 libcmtd.lib(_ctype.obj) 中定义 1>MSVCRTD.lib(MSVCR100D.dll) : error LNK2005: _localeconv 已经在 libcmtd.lib(lconv.obj) 中定义 1>MSVCRTD.lib(ti_inst.obj) : error LNK2005: "private: __thiscall type_info::type_info(class type_info const &)" (??0type_info@@AAE@ABV0@@Z) 已经在 libcmtd.lib(typinfo.obj) 中定义 1>MSVCRTD.lib(ti_inst.obj) : error LNK2005: "private: class type_info & __thiscall type_info::operator=(class type_info const &)" (??4type_info@@AAEAAV0@ABV0@@Z) 已经在 libcmtd.lib(typinfo.obj) 中定义 1> 正在创建库 ..\test\testdll.lib 和对象 ..\test\testdll.exp 1>LINK : warning LNK4098: 默认库“MSVCRTD”与其他库的使用冲突;请使用 /NODEFAULTLIB:library 1>..\test\testdll.dll : fatal error LNK1169: 找到一个或多个多重定义的符号 1> 1>生成失败。 1> 1>已用时间 00:00:01.05 ========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ==========
程序无法启动。。。系统找不到指定文件
#include"stdafx.h" #include<afx.h> #include <opencv2/opencv.hpp> #include <iostream> using namespace cv; using namespace std; int main(){ CString abPath = "C:\\Profram Files\\feiq\\Recv Files\\ACSImage\\cache\\v3.2\\代表图"; getFile(abPath); } void changeSize(CString cs_abPath,string abSavePath,CString fileName){ Mat img = imread(cs_abPath.GetBuffer); Mat dst; string savePath = abSavePath +"\\" +fileName.GetBuffer+".jpg"; double scale; int img_height = img.rows; scale = 400.0/ img_height; resize(img, dst, Size(0, 0), scale, scale); imwrite(savePath,dst); } void getFile(CString pathStr){ CString myDataPath, fdPath; myDataPath =pathStr+"\\*.*"; CFileFind finder; boolean buffer = finder.FindFile(myDataPath); string abSavePath = "C:\\Profram Files\\feiq\\Recv Files\\ACSImage\\cache\\v3.2\\代表图小图"; while (buffer) { buffer = finder.FindNextFileW(); if (!finder.IsDots){ /*fdPath是当前的路径, 判断: 如果当前这个路径下是文件夹 递归(fdPath) 如果当前这个路径下是文件 则调changeSize() 多个文件的可以吗?? 保存文件的路径怎么办?? 逻辑上还是有问题 */ fdPath = finder.GetFilePath; if (finder.IsDirectory) { getFile(fdPath); } else { changeSize(fdPath, abSavePath, finder.GetFileName()); } } } finder.Close(); } 代码如上 win32AP 我想不用MFC然后调用MFC里的一些类, 出现题目所示问题. 1>------ Build started: Project: opencvTestBYljk, Configuration: Debug Win32 ------ 1>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.CppBuild.targets(364,5): warning MSB8004: Output Directory does not end with a trailing slash. This build instance will add the slash as it is required to allow proper evaluation of the Output Directory. 1> opencvTestBYljk.cpp 1>d:\lx\home\proj\cuda\opencvtestbyljk\opencvtestbyljk\opencvtestbyljk.cpp(10): error C3861: 'getFile': identifier not found 1>d:\lx\home\proj\cuda\opencvtestbyljk\opencvtestbyljk\opencvtestbyljk.cpp(13): error C3867: 'ATL::CSimpleStringT<wchar_t,true>::GetBuffer': function call missing argument list; use '&ATL::CSimpleStringT<wchar_t,true>::GetBuffer' to create a pointer to member 1>d:\lx\home\proj\cuda\opencvtestbyljk\opencvtestbyljk\opencvtestbyljk.cpp(15): error C2678: binary '+' : no operator found which takes a left-hand operand of type 'std::basic_string<char,std::char_traits<char>,std::allocator<char>>' (or there is no acceptable conversion) 1> d:\opencv249\opencv\build\include\opencv2\core\mat.hpp(2001): could be 'cv::MatConstIterator cv::operator +(ptrdiff_t,const cv::MatConstIterator &)' 1> d:\opencv249\opencv\build\include\opencv2\core\mat.hpp(1998): or 'cv::MatConstIterator cv::operator +(const cv::MatConstIterator &,ptrdiff_t)' 1> d:\opencv249\opencv\build\include\opencv2\core\mat.hpp(1268): or 'cv::MatExpr cv::operator +(const cv::MatExpr &,const cv::MatExpr &)' 1> d:\opencv249\opencv\build\include\opencv2\core\mat.hpp(1267): or 'cv::MatExpr cv::operator +(const cv::Scalar &,const cv::MatExpr &)' 1> d:\opencv249\opencv\build\include\opencv2\core\mat.hpp(1266): or 'cv::MatExpr cv::operator +(const cv::MatExpr &,const cv::Scalar &)' 1> d:\opencv249\opencv\build\include\opencv2\core\mat.hpp(1265): or 'cv::MatExpr cv::operator +(const cv::Mat &,const cv::MatExpr &)' 1> d:\opencv249\opencv\build\include\opencv2\core\mat.hpp(1264): or 'cv::MatExpr cv::operator +(const cv::MatExpr &,const cv::Mat &)' 1> d:\opencv249\opencv\build\include\opencv2\core\mat.hpp(1263): or 'cv::MatExpr cv::operator +(const cv::Scalar &,const cv::Mat &)' 1> d:\opencv249\opencv\build\include\opencv2\core\mat.hpp(1262): or 'cv::MatExpr cv::operator +(const cv::Mat &,const cv::Scalar &)' 1> d:\opencv249\opencv\build\include\opencv2\core\mat.hpp(1261): or 'cv::MatExpr cv::operator +(const cv::Mat &,const cv::Mat &)' 1> d:\opencv249\opencv\build\include\opencv2\core\operations.hpp(2248): or 'cv::Range cv::operator +(int,const cv::Range &)' 1> d:\opencv249\opencv\build\include\opencv2\core\operations.hpp(2243): or 'cv::Range cv::operator +(const cv::Range &,int)' 1> while trying to match the argument list '(std::basic_string<char,std::char_traits<char>,std::allocator<char>>, overloaded-function)' 1>d:\lx\home\proj\cuda\opencvtestbyljk\opencvtestbyljk\opencvtestbyljk.cpp(31): error C2276: '!' : illegal operation on bound member function expression 1>d:\lx\home\proj\cuda\opencvtestbyljk\opencvtestbyljk\opencvtestbyljk.cpp(40): error C3867: 'CFileFind::GetFilePath': function call missing argument list; use '&CFileFind::GetFilePath' to create a pointer to member 1>d:\lx\home\proj\cuda\opencvtestbyljk\opencvtestbyljk\opencvtestbyljk.cpp(40): error C2679: binary '=' : no operator found which takes a right-hand operand of type 'overloaded-function' (or there is no acceptable conversion) 1> d:\program files (x86)\microsoft visual studio 12.0\vc\atlmfc\include\cstringt.h(1322): could be 'ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t>>> &ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t>>>::operator =(const VARIANT &)' 1> d:\program files (x86)\microsoft visual studio 12.0\vc\atlmfc\include\cstringt.h(1314): or 'ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t>>> &ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t>>>::operator =(char)' 1> d:\program files (x86)\microsoft visual studio 12.0\vc\atlmfc\include\cstringt.h(1305): or 'ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t>>> &ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t>>>::operator =(wchar_t)' 1> d:\program files (x86)\microsoft visual studio 12.0\vc\atlmfc\include\cstringt.h(1299): or 'ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t>>> &ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t>>>::operator =(const unsigned char *)' 1> d:\program files (x86)\microsoft visual studio 12.0\vc\atlmfc\include\cstringt.h(1281): or 'ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t>>> &ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t>>>::operator =(const char *)' 1> d:\program files (x86)\microsoft visual studio 12.0\vc\atlmfc\include\cstringt.h(1273): or 'ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t>>> &ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t>>>::operator =(const wchar_t *)' 1> d:\program files (x86)\microsoft visual studio 12.0\vc\atlmfc\include\cstringt.h(1258): or 'ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t>>> &ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t>>>::operator =(const ATL::CStringT<wchar_t,StrTraitMFC_DLL<wchar_t,ATL::ChTraitsCRT<wchar_t>>> &)' 1> while trying to match the argument list '(CString, overloaded-function)' 1>d:\lx\home\proj\cuda\opencvtestbyljk\opencvtestbyljk\opencvtestbyljk.cpp(41): error C3867: 'CFileFind::IsDirectory': function call missing argument list; use '&CFileFind::IsDirectory' to create a pointer to member
MFC,DoModal时候出现的情况
DoModal时报错,提示窗口句柄为空~,求助。 BOOL CWnd::ShowWindow(int nCmdShow) { ASSERT(::IsWindow(m_hWnd) || (m_pCtrlSite != NULL)); if (m_pCtrlSite == NULL) return ::ShowWindow(m_hWnd, nCmdShow); else return m_pCtrlSite->ShowWindow(nCmdShow); } 断言到IsWindow。。。
MFC单文档程序编程 最小化托盘对话框没有隐藏而是以标题栏的形式显示的呢?
MFC单文档程序编程 最小化托盘某个对话框的时候 为什么对话框没有隐藏而是以标题栏的形式显示的呢 void CBeginningTimeDlg::OnSysCommand(UINT nID, LPARAM lParam) { // TODO: Add your message handler code here and/or call default CWnd *pMainFrameWnd , *pSettingDlgWnd ; pSettingDlgWnd = CWnd::FindWindow(NULL , "时间设置"); pMainFrameWnd = CWnd::FindWindow(NULL , "数字时钟"); if(nID == SC_MINIMIZE) { ShowWindow(SW_HIDE) ; pMainFrameWnd->ShowWindow(SW_HIDE) ; pSettingDlgWnd->ShowWindow(SW_HIDE); } if (nID == SC_CLOSE) { if(::MessageBox(NULL,"你真的要退出程序吗?","退出",MB_OKCANCEL)==IDOK) { // 获取当前主窗口的句柄,向主窗口发送WM_CLOSE消息 ::PostMessage(AfxGetMainWnd()->GetSafeHwnd(),WM_CLOSE,0,0); // 退出程序时清除托盘图标 Shell_NotifyIcon(NIM_DELETE, &data); } } CDialog::OnSysCommand(nID, lParam); }
MFC中在OnTimer函数中无法修改控件属性,程序运行无响应
在用VC6.0完成mfc作业遇到的问题 我先在按钮事件中动态创建了几个按钮控,之后用SetTimer想要完成动画和模拟。 但是一旦在OnTimer函数中书写修改控件属性的语句,程序运行就无响应。 ``` void CDongtaichuangjianDlg::OnTimer(UINT nIDEvent) { // TODO: Add your message handler code here and/or call default switch(nIDEvent) { case 1: if (worldtime>maxtime) { KillTimer(1) ; break; } randpass(); int i,j; for (i=1;i<=elevatornumber;i++) { lifter[i].elevatormove(); } m_currenttime=worldtime; for (i=1;i<=elevatornumber;i++) { for(j=1;j<=floornumber;j++) { //elebutton[(i-1)*floornumber+j]->ShowWindow(SW_HIDE); //elebuttonD[(i-1)*floornumber+j]->ShowWindow(SW_HIDE); } } m_floor=lifter[1].currentF; for (i=1;i<=floornumber;i++) { //up[i]->ShowWindow((tower.upinquire(i)) ?SW_SHOW:SW_HIDE); //down[i]->ShowWindow((tower.downinquire(i)) ?SW_SHOW:SW_HIDE); } UpdateData(false); worldtime++; break ; } CDialog::OnTimer(nIDEvent); } ``` elebutton、up和down是全局定义的指针数组用来记录生成控件的指针; 注释的语句如果加上程序就会无响应。而同样的语句如果不写在OnTimer里程序就可以运行……
GetSystemMetrics在MFC中得到的分辨率是正确的,在WIN32程序中得到的分辨率却不对
环境:PARALLES DESKTOP 虚拟机里的WIN7 在新建一个MFC的项目 int width = ::GetSystemMetrics(SM_CXSCREEN); int height = ::GetSystemMetrics(SM_CYSCREEN); 得到的分辨率是正确的 width=2880 height=1880 但是新建一个WIN32程序 . 同样的程序 得到却是 width=1448 height=905 为什么
vs2008 mfc无法生成exe
我在用vs2008编译编译时报以下错误: 1>qmfcapp.obj : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: static void __cdecl QCoreApplication::sendPostedEvents(void)" (__imp_?sendPostedEvents@QCoreApplication@@SAXXZ),该符号在函数 "long __stdcall QtFilterProc(int,unsigned int,long)" (?QtFilterProc@@YGJHIJ@Z) 中被引用 1>qwinwidget.obj : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: bool __thiscall QChildEvent::removed(void)const " (__imp_?removed@QChildEvent@@QBE_NXZ),该符号在函数 "protected: virtual void __thiscall QWinWidget::childEvent(class QChildEvent *)" (?childEvent@QWinWidget@@MAEXPAVQChildEvent@@@Z) 中被引用 1>ui.lib(QYMainWindow.obj) : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: static class QString __cdecl QString::fromStdWString(class std::basic_string<wchar_t,struct std::char_traits<wchar_t>,class std::allocator<wchar_t> > const &)" (__imp_?fromStdWString@QString@@SA?AV1@ABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@Z),该符号在函数 "public: long __thiscall CQYMainWindow::Invoke(struct WebExternalObjectInvokeParam const &,class HtmlDialog *)" (?Invoke@CQYMainWindow@@QAEJABUWebExternalObjectInvokeParam@@PAVHtmlDialog@@@Z) 中被引用 1>libqyqtui.lib(HtmlDialog.obj) : error LNK2001: 无法解析的外部符号 "__declspec(dllimport) public: static class QString __cdecl QString::fromStdWString(class std::basic_string<wchar_t,struct std::char_traits<wchar_t>,class std::allocator<wchar_t> > const &)" (__imp_?fromStdWString@QString@@SA?AV1@ABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@Z) 1>QAxContainerd.lib(qaxobject.obj) : error LNK2001: 无法解析的外部符号 "__declspec(dllimport) public: __thiscall QUuid::QUuid(struct _GUID const &)" (__imp_??0QUuid@@QAE@ABU_GUID@@@Z) 1>libqyqtui.lib(HtmlDialog.obj) : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: __thiscall QUuid::QUuid(struct _GUID const &)" (__imp_??0QUuid@@QAE@ABU_GUID@@@Z),该符号在函数 "public: __thiscall HtmlDialog::HtmlDialog(class QWidget *,class QFlags<enum Qt::WindowType>)" (??0HtmlDialog@@QAE@PAVQWidget@@V?$QFlags@W4WindowType@Qt@@@@@Z) 中被引用 1>QAxContainerd.lib(qaxbase.obj) : error LNK2001: 无法解析的外部符号 "__declspec(dllimport) public: __thiscall QUuid::QUuid(struct _GUID const &)" (__imp_??0QUuid@@QAE@ABU_GUID@@@Z) 1>QAxContainerd.lib(qaxwidget.obj) : error LNK2001: 无法解析的外部符号 "__declspec(dllimport) public: __thiscall QUuid::QUuid(struct _GUID const &)" (__imp_??0QUuid@@QAE@ABU_GUID@@@Z) 1>QAxContainerd.lib(qaxtypes.obj) : error LNK2001: 无法解析的外部符号 "__declspec(dllimport) public: __thiscall QUuid::QUuid(struct _GUID const &)" (__imp_??0QUuid@@QAE@ABU_GUID@@@Z) 1>libqyqtui.lib(HtmlDialog.obj) : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: class std::basic_string<wchar_t,struct std::char_traits<wchar_t>,class std::allocator<wchar_t> > __thiscall QString::toStdWString(void)const " (__imp_?toStdWString@QString@@QBE?AV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@XZ),该符号在函数 "private: void __thiscall HtmlDialog::OnWebNavigateComplete(class QString const &)" (?OnWebNavigateComplete@HtmlDialog@@AAEXABVQString@@@Z) 中被引用 1>libqyqtui.lib(QyQtUIDialog.obj) : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: void __thiscall QPainter::drawPixmap(int,int,int,int,class QPixmap const &,int,int,int,int)" (__imp_?drawPixmap@QPainter@@QAEXHHHHABVQPixmap@@HHHH@Z),该符号在函数 "void __cdecl DrawNinePatch(class QPainter &,class QPixmap const &,class QSize const &,int)" (?DrawNinePatch@@YAXAAVQPainter@@ABVQPixmap@@ABVQSize@@H@Z) 中被引用 1>libqyqtui.lib(NcFramelessHelper.obj) : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: void __thiscall QRubberBand::move(class QPoint const &)" (__imp_?move@QRubberBand@@QAEXABVQPoint@@@Z),该符号在函数 "private: void __thiscall NcWidgetData::moveWidget(class QPoint const &)" (?moveWidget@NcWidgetData@@AAEXABVQPoint@@@Z) 中被引用 1>QAxContainerd.lib(qaxbase.obj) : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: static class QString __cdecl QString::fromWCharArray(unsigned short const *,int)" (__imp_?fromWCharArray@QString@@SA?AV1@PBGH@Z),该符号在函数 "public: class QByteArray __thiscall QAxEventSink::findProperty(long)" (?findProperty@QAxEventSink@@QAE?AVQByteArray@@J@Z) 中被引用 1>QAxContainerd.lib(qaxwidget.obj) : error LNK2001: 无法解析的外部符号 "__declspec(dllimport) public: static class QString __cdecl QString::fromWCharArray(unsigned short const *,int)" (__imp_?fromWCharArray@QString@@SA?AV1@PBGH@Z) 1>QAxContainerd.lib(qaxtypes.obj) : error LNK2001: 无法解析的外部符号 "__declspec(dllimport) public: static class QString __cdecl QString::fromWCharArray(unsigned short const *,int)" (__imp_?fromWCharArray@QString@@SA?AV1@PBGH@Z) 1>QAxContainerd.lib(qaxbase.obj) : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: class QString __thiscall QUuid::toString(void)const " (__imp_?toString@QUuid@@QBE?AVQString@@XZ),该符号在函数 "public: bool __thiscall QAxBase::setControl(class QString const &)" (?setControl@QAxBase@@QAE_NABVQString@@@Z) 中被引用 1>QAxContainerd.lib(qaxbase.obj) : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: bool __thiscall QUuid::isNull(void)const " (__imp_?isNull@QUuid@@QBE_NXZ),该符号在函数 "public: bool __thiscall QAxBase::setControl(class QString const &)" (?setControl@QAxBase@@QAE_NABVQString@@@Z) 中被引用 1>QAxContainerd.lib(qaxbase.obj) : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: __thiscall QUuid::QUuid(class QString const &)" (__imp_??0QUuid@@QAE@ABVQString@@@Z),该符号在函数 "public: bool __thiscall QAxBase::setControl(class QString const &)" (?setControl@QAxBase@@QAE_NABVQString@@@Z) 中被引用 1>QAxContainerd.lib(qaxbase.obj) : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: __thiscall QUuid::operator struct _GUID(void)const " (__imp_??BQUuid@@QBE?AU_GUID@@XZ),该符号在函数 "protected: virtual bool __thiscall QAxBase::initialize(struct IUnknown * *)" (?initialize@QAxBase@@MAE_NPAPAUIUnknown@@@Z) 中被引用 1>QAxContainerd.lib(qaxbase.obj) : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: __thiscall QUuid::QUuid(void)" (__imp_??0QUuid@@QAE@XZ),该符号在函数 "public: __thiscall MetaObjectGenerator::MetaObjectGenerator(class QAxBase *,class QAxBasePrivate *)" (??0MetaObjectGenerator@@QAE@PAVQAxBase@@PAVQAxBasePrivate@@@Z) 中被引用 1>QAxContainerd.lib(qaxbase.obj) : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: struct QUuid & __thiscall QUuid::operator=(struct _GUID const &)" (__imp_??4QUuid@@QAEAAU0@ABU_GUID@@@Z),该符号在函数 "private: void __thiscall MetaObjectGenerator::init(void)" (?init@MetaObjectGenerator@@AAEXXZ) 中被引用 1>QAxContainerd.lib(qaxbase.obj) : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: bool __thiscall QMetaProperty::isValid(void)const " (__imp_?isValid@QMetaProperty@@QBE_NXZ),该符号在函数 "private: int __thiscall QAxBase::internalProperty(enum QMetaObject::Call,int,void * *)" (?internalProperty@QAxBase@@AAEHW4Call@QMetaObject@@HPAPAX@Z) 中被引用 1>QAxContainerd.lib(qaxbase.obj) : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: bool __thiscall QUuid::operator==(struct QUuid const &)const " (__imp_??8QUuid@@QBE_NABU0@@Z),该符号在函数 "public: class QBool __thiscall QList<struct QUuid>::contains(struct QUuid const &)const " (?contains@?$QList@UQUuid@@@@QBE?AVQBool@@ABUQUuid@@@Z) 中被引用 1>QAxContainerd.lib(qaxbase.obj) : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: __thiscall QUuid::operator class QString(void)const " (__imp_??BQUuid@@QBE?AVQString@@XZ),该符号在函数 "private: struct QHashNode<struct QUuid,class QMap<class QByteArray,class QList<struct QPair<class QByteArray,int> > > > * * __thiscall QHash<struct QUuid,class QMap<class QByteArray,class QList<struct QPair<class QByteArray,int> > > >::findNode(struct QUuid const &,unsigned int *)const " (?findNode@?$QHash@UQUuid@@V?$QMap@VQByteArray@@V?$QList@U?$QPair@VQByteArray@@H@@@@@@@@ABEPAPAU?$QHashNode@UQUuid@@V?$QMap@VQByteArray@@V?$QList@U?$QPair@VQByteArray@@H@@@@@@@@ABUQUuid@@PAI@Z) 中被引用 1>QAxContainerd.lib(qaxbase.obj) : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: bool __thiscall QUuid::operator<(struct QUuid const &)const " (__imp_??MQUuid@@QBE_NABU0@@Z),该符号在函数 "bool __cdecl qMapLessThanKey<struct QUuid>(struct QUuid const &,struct QUuid const &)" (??$qMapLessThanKey@UQUuid@@@@YA_NABUQUuid@@0@Z) 中被引用 1>C:\CC-trunk\vsproject\..\bin\CC.exe : fatal error LNK1120: 18 个无法解析的外部命令
VC++ 故障模块名称: MFC42D.DLL 故障模块
故障模块名称: MFC42D.DLL 故障模块 怎么解决
VC++ MFC getwindowtext(),使用提示的错误原因是什么
VC++ MFC getwindowtext(),使用提示的错误原因是什么 int num1,num2,num3; char ch1[12],ch2[12],ch3[12]; m_edit1.GetWindowText(ch1); //在ch1后面不标注长度,会提示出错,size 主要是什么作用 m_edit2.GetWindowText(ch2,12); num1=_ttoi(ch1); num2=_ttoi(ch2); num3=num1+num2; _itot(num3,ch3,10); m_edit3.SetWindowText(ch3); 错误提示: C:\Program Files (x86)\Microsoft Visual Studio\HD_RZG_CiTOS_4.5_EX\HD_RZG_CiTOS_4.5_EX\04_SRC\plan\project\test3\test3Dlg.cpp(270) : error C2664: 'void __thiscall CWnd::GetWindowTextA(class CString &) const' : cannot convert parameter 1 from 'char [ 12]' to 'class CString &
基于对话框的MFC问题,在构造中new一个对象,在析构中释放,竟然可以出错!
class CMilesight_Intelligence_AlgorithmDlg : public CDialogEx { public: CIpCamera *m_ip_camera;//已经定义好的一个类库 } CMilesight_Intelligence_AlgorithmDlg::CMilesight_Intelligence_AlgorithmDlg(CWnd* pParent /*=NULL*/) : CDialogEx(CMilesight_Intelligence_AlgorithmDlg::IDD, pParent) { m_ip_camera = new(CIpCamera); m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME); } CMilesight_Intelligence_AlgorithmDlg::~CMilesight_Intelligence_AlgorithmDlg() { delete m_ip_camera; } 代码很简单,就是在构造中new一个对象,在析构中释放,调试没有错误,运行时报错 报错信息: Critical error detected c0000374 Windows 已在 Milesight_Intelligence_Algorithm.exe 中触发一个断点。 其原因可能是堆被损坏,这说明 Milesight_Intelligence_Algorithm.exe 中或它所加载的任何 DLL 中有 Bug。 原因也可能是用户在 Milesight_Intelligence_Algorithm.exe 具有焦点时按下了 F12。 输出窗口可能提供了更多诊断信息。 程序“[8892] Milesight_Intelligence_Algorithm.exe: 本机”已退出,返回值为 0 (0x0)。 错误的堆栈信息: ![图片说明](https://img-ask.csdn.net/upload/201511/04/1446602865_897643.png) 找了半天,想不出什么原因,是基于对话框的MFC,其APP类我没有动,我只需要在DLG对话框中进行操作。现在只是简单的新建个对象,都能出错!醉了
MFC:如何实现终止进程
请问要怎么在MFC中实现终止进程的功能呢?试着调用TerminateProcess()函数失败了......以下是从网上寻找的代码,修改后仍不成功,运行后点击按终止进程按钮后直接退出对话框了 ``` void CProcessDlg::OnBnClickedButton5() { UpdateData(TRUE); HANDLE hSnapshot=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0); PROCESSENTRY32 pe32; pe32.dwSize=sizeof(PROCESSENTRY32); BOOL bResult=Process32First(hSnapshot,&pe32); while(bResult) { CString str=pe32.szExeFile; if(str==v_softname) { this->MessageBox(L"查找到进程"); break; } else { bResult=Process32Next(hSnapshot,&pe32); } } CloseHandle(hSnapshot); //利用查找到的进程ID,打开进程: HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS,FALSE,pe32.th32ProcessID); //关闭进程 BOOL bRet = TerminateProcess(hProcess,0); if(bRet) this->MessageBox(L"success"); else this->MessageBox(L"could not"); UpdateData(FALSE); } ``` v_softname是设置的edit control控件
相见恨晚的超实用网站
搞学习 知乎:www.zhihu.com 简答题:http://www.jiandati.com/ 网易公开课:https://open.163.com/ted/ 网易云课堂:https://study.163.com/ 中国大学MOOC:www.icourse163.org 网易云课堂:study.163.com 哔哩哔哩弹幕网:www.bilibili.com 我要自学网:www.51zxw
花了20分钟,给女朋友们写了一个web版群聊程序
参考博客 [1]https://www.byteslounge.com/tutorials/java-ee-html5-websocket-example
爬虫福利二 之 妹子图网MM批量下载
爬虫福利一:27报网MM批量下载    点击 看了本文,相信大家对爬虫一定会产生强烈的兴趣,激励自己去学习爬虫,在这里提前祝:大家学有所成! 目标网站:妹子图网 环境:Python3.x 相关第三方模块:requests、beautifulsoup4 Re:各位在测试时只需要将代码里的变量 path 指定为你当前系统要保存的路径,使用 python xxx.py 或IDE运行即可。
字节跳动视频编解码面经
引言 本文主要是记录一下面试字节跳动的经历。 三四月份投了字节跳动的实习(图形图像岗位),然后hr打电话过来问了一下会不会opengl,c++,shador,当时只会一点c++,其他两个都不会,也就直接被拒了。 七月初内推了字节跳动的提前批,因为内推没有具体的岗位,hr又打电话问要不要考虑一下图形图像岗,我说实习投过这个岗位不合适,不会opengl和shador,然后hr就说秋招更看重基础。我当时
Java学习的正确打开方式
在博主认为,对于入门级学习java的最佳学习方法莫过于视频+博客+书籍+总结,前三者博主将淋漓尽致地挥毫于这篇博客文章中,至于总结在于个人,实际上越到后面你会发现学习的最好方式就是阅读参考官方文档其次就是国内的书籍,博客次之,这又是一个层次了,这里暂时不提后面再谈。博主将为各位入门java保驾护航,各位只管冲鸭!!!上天是公平的,只要不辜负时间,时间自然不会辜负你。 何谓学习?博主所理解的学习,它
程序员必须掌握的核心算法有哪些?
由于我之前一直强调数据结构以及算法学习的重要性,所以就有一些读者经常问我,数据结构与算法应该要学习到哪个程度呢?,说实话,这个问题我不知道要怎么回答你,主要取决于你想学习到哪些程度,不过针对这个问题,我稍微总结一下我学过的算法知识点,以及我觉得值得学习的算法。这些算法与数据结构的学习大多数是零散的,并没有一本把他们全部覆盖的书籍。下面是我觉得值得学习的一些算法以及数据结构,当然,我也会整理一些看过
大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了
大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、电子书搜索 对于大部分程序员...
linux系列之常用运维命令整理笔录
本博客记录工作中需要的linux运维命令,大学时候开始接触linux,会一些基本操作,可是都没有整理起来,加上是做开发,不做运维,有些命令忘记了,所以现在整理成博客,当然vi,文件操作等就不介绍了,慢慢积累一些其它拓展的命令,博客不定时更新 顺便拉下票,我在参加csdn博客之星竞选,欢迎投票支持,每个QQ或者微信每天都可以投5票,扫二维码即可,http://m234140.nofollow.ax.
比特币原理详解
一、什么是比特币 比特币是一种电子货币,是一种基于密码学的货币,在2008年11月1日由中本聪发表比特币白皮书,文中提出了一种去中心化的电子记账系统,我们平时的电子现金是银行来记账,因为银行的背后是国家信用。去中心化电子记账系统是参与者共同记账。比特币可以防止主权危机、信用风险。其好处不多做赘述,这一层面介绍的文章很多,本文主要从更深层的技术原理角度进行介绍。 二、问题引入 假设现有4个人...
Python 基础(一):入门必备知识
目录1 标识符2 关键字3 引号4 编码5 输入输出6 缩进7 多行8 注释9 数据类型10 运算符10.1 常用运算符10.2 运算符优先级 1 标识符 标识符是编程时使用的名字,用于给变量、函数、语句块等命名,Python 中标识符由字母、数字、下划线组成,不能以数字开头,区分大小写。 以下划线开头的标识符有特殊含义,单下划线开头的标识符,如:_xxx ,表示不能直接访问的类属性,需通过类提供
这30个CSS选择器,你必须熟记(上)
关注前端达人,与你共同进步CSS的魅力就是让我们前端工程师像设计师一样进行网页的设计,我们能轻而易举的改变颜色、布局、制作出漂亮的影音效果等等,我们只需要改几行代码,不需...
国产开源API网关项目进入Apache孵化器:APISIX
点击蓝色“程序猿DD”关注我回复“资源”获取独家整理的学习资料!近日,又有一个开源项目加入了这个Java开源界大名鼎鼎的Apache基金会,开始进行孵化器。项目名称:AP...
程序员接私活怎样防止做完了不给钱?
首先跟大家说明一点,我们做 IT 类的外包开发,是非标品开发,所以很有可能在开发过程中会有这样那样的需求修改,而这种需求修改很容易造成扯皮,进而影响到费用支付,甚至出现做完了项目收不到钱的情况。 那么,怎么保证自己的薪酬安全呢? 我们在开工前,一定要做好一些证据方面的准备(也就是“讨薪”的理论依据),这其中最重要的就是需求文档和验收标准。一定要让需求方提供这两个文档资料作为开发的基础。之后开发
网页实现一个简单的音乐播放器(大佬别看。(⊙﹏⊙))
今天闲着无事,就想写点东西。然后听了下歌,就打算写个播放器。 于是乎用h5 audio的加上js简单的播放器完工了。 欢迎 改进 留言。 演示地点跳到演示地点 html代码如下`&lt;!DOCTYPE html&gt; &lt;html&gt; &lt;head&gt; &lt;title&gt;music&lt;/title&gt; &lt;meta charset="utf-8"&gt
Python十大装B语法
Python 是一种代表简单思想的语言,其语法相对简单,很容易上手。不过,如果就此小视 Python 语法的精妙和深邃,那就大错特错了。本文精心筛选了最能展现 Python 语法之精妙的十个知识点,并附上详细的实例代码。如能在实战中融会贯通、灵活使用,必将使代码更为精炼、高效,同时也会极大提升代码B格,使之看上去更老练,读起来更优雅。 1. for - else 什么?不是 if 和 else 才
数据库优化 - SQL优化
前面一篇文章从实例的角度进行数据库优化,通过配置一些参数让数据库性能达到最优。但是一些“不好”的SQL也会导致数据库查询变慢,影响业务流程。本文从SQL角度进行数据库优化,提升SQL运行效率。 判断问题SQL 判断SQL是否有问题时可以通过两个表象进行判断: 系统级别表象 CPU消耗严重 IO等待严重 页面响应时间过长
2019年11月中国大陆编程语言排行榜
2019年11月2日,我统计了某招聘网站,获得有效程序员招聘数据9万条。针对招聘信息,提取编程语言关键字,并统计如下: 编程语言比例 rank pl_ percentage 1 java 33.62% 2 c/c++ 16.42% 3 c_sharp 12.82% 4 javascript 12.31% 5 python 7.93% 6 go 7.25% 7
通俗易懂地给女朋友讲:线程池的内部原理
餐厅的约会 餐盘在灯光的照耀下格外晶莹洁白,女朋友拿起红酒杯轻轻地抿了一小口,对我说:“经常听你说线程池,到底线程池到底是个什么原理?”我楞了一下,心里想女朋友今天是怎么了,怎么突然问出这么专业的问题,但做为一个专业人士在女朋友面前也不能露怯啊,想了一下便说:“我先给你讲讲我前同事老王的故事吧!” 大龄程序员老王 老王是一个已经北漂十多年的程序员,岁数大了,加班加不动了,升迁也无望,于是拿着手里
经典算法(5)杨辉三角
杨辉三角 是经典算法,这篇博客对它的算法思想进行了讲解,并有完整的代码实现。
编写Spring MVC控制器的14个技巧
本期目录 1.使用@Controller构造型 2.实现控制器接口 3.扩展AbstractController类 4.为处理程序方法指定URL映射 5.为处理程序方法指定HTTP请求方法 6.将请求参数映射到处理程序方法 7.返回模型和视图 8.将对象放入模型 9.处理程序方法中的重定向 10.处理表格提交和表格验证 11.处理文件上传 12.在控制器中自动装配业务类 ...
腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹?
昨天,有网友私信我,说去阿里面试,彻底的被打击到了。问了为什么网上大量使用ThreadLocal的源码都会加上private static?他被难住了,因为他从来都没有考虑过这个问题。无独有偶,今天笔者又发现有网友吐槽了一道腾讯的面试题,我们一起来看看。 腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹? 在互联网职场论坛,一名程序员发帖求助到。二面腾讯,其中一个算法题:64匹
面试官:你连RESTful都不知道我怎么敢要你?
面试官:了解RESTful吗? 我:听说过。 面试官:那什么是RESTful? 我:就是用起来很规范,挺好的 面试官:是RESTful挺好的,还是自我感觉挺好的 我:都挺好的。 面试官:… 把门关上。 我:… 要干嘛?先关上再说。 面试官:我说出去把门关上。 我:what ?,夺门而去 文章目录01 前言02 RESTful的来源03 RESTful6大原则1. C-S架构2. 无状态3.统一的接
求小姐姐抠图竟遭白眼?痛定思痛,我决定用 Python 自力更生!
点击蓝色“Python空间”关注我丫加个“星标”,每天一起快乐的学习大家好,我是 Rocky0429,一个刚恰完午饭,正在用刷网页浪费生命的蒟蒻...一堆堆无聊八卦信息的网页内容慢慢使我的双眼模糊,一个哈欠打出了三斤老泪,就在此时我看到了一张图片:是谁!是谁把我女朋友的照片放出来的!awsl!太好看了叭...等等,那个背景上的一堆鬼画符是什么鬼?!真是看不下去!叔叔婶婶能忍,隔壁老王的三姨妈的四表...
为啥国人偏爱Mybatis,而老外喜欢Hibernate/JPA呢?
关于SQL和ORM的争论,永远都不会终止,我也一直在思考这个问题。昨天又跟群里的小伙伴进行了一番讨论,感触还是有一些,于是就有了今天这篇文。 声明:本文不会下关于Mybatis和JPA两个持久层框架哪个更好这样的结论。只是摆事实,讲道理,所以,请各位看官勿喷。 一、事件起因 关于Mybatis和JPA孰优孰劣的问题,争论已经很多年了。一直也没有结论,毕竟每个人的喜好和习惯是大不相同的。我也看
SQL-小白最佳入门sql查询一
不要偷偷的查询我的个人资料,即使你再喜欢我,也不要这样,真的不好;
项目中的if else太多了,该怎么重构?
介绍 最近跟着公司的大佬开发了一款IM系统,类似QQ和微信哈,就是聊天软件。我们有一部分业务逻辑是这样的 if (msgType = "文本") { // dosomething } else if(msgType = "图片") { // doshomething } else if(msgType = "视频") { // doshomething } else { // doshom...
致 Python 初学者
欢迎来到“Python进阶”专栏!来到这里的每一位同学,应该大致上学习了很多 Python 的基础知识,正在努力成长的过程中。在此期间,一定遇到了很多的困惑,对未来的学习方向感到迷茫。我非常理解你们所面临的处境。我从2007年开始接触 python 这门编程语言,从2009年开始单一使用 python 应对所有的开发工作,直至今天。回顾自己的学习过程,也曾经遇到过无数的困难,也曾经迷茫过、困惑过。开办这个专栏,正是为了帮助像我当年一样困惑的 Python 初学者走出困境、快速成长。希望我的经验能真正帮到你
“狗屁不通文章生成器”登顶GitHub热榜,分分钟写出万字形式主义大作
一、垃圾文字生成器介绍 最近在浏览GitHub的时候,发现了这样一个骨骼清奇的雷人项目,而且热度还特别高。 项目中文名:狗屁不通文章生成器 项目英文名:BullshitGenerator 根据作者的介绍,他是偶尔需要一些中文文字用于GUI开发时测试文本渲染,因此开发了这个废话生成器。但由于生成的废话实在是太过富于哲理,所以最近已经被小伙伴们给玩坏了。 他的文风可能是这样的: 你发现,...
程序员:我终于知道post和get的区别
是一个老生常谈的话题,然而随着不断的学习,对于以前的认识有很多误区,所以还是需要不断地总结的,学而时习之,不亦说乎
《程序人生》系列-这个程序员只用了20行代码就拿了冠军
你知道的越多,你不知道的越多 点赞再看,养成习惯GitHub上已经开源https://github.com/JavaFamily,有一线大厂面试点脑图,欢迎Star和完善 前言 这一期不算《吊打面试官》系列的,所有没前言我直接开始。 絮叨 本来应该是没有这期的,看过我上期的小伙伴应该是知道的嘛,双十一比较忙嘛,要值班又要去帮忙拍摄年会的视频素材,还得搞个程序员一天的Vlog,还要写BU...
相关热词 如何提升c#开发能力 矩阵乘法c# c#调用谷歌浏览器 c# 去空格去转义符 c#用户登录窗体代码 c# 流 c# linux 可视化 c# mvc 返回图片 c# 像素空间 c# 日期 最后一天
立即提问