View Full Version : مبتدی: اجرا نشدن دستور WinExec در VisualC++
karbara121
جمعه 28 تیر 1392, 11:37 صبح
با سلام خدمت برنامه نویسان گرامی
من در حال مطالعه ی کتاب آموزش مقدماتی MFC تالیف آقای جناب هستم. در صفحه ی 47 این کتاب کدی در مورد اجرای برنامه های دیگر نوشته شده که من عین این کد را در برنامه ی خود کپی کرده ام. ولی برنامه بدون هیچ ERROR برنامه های مزبور زا اجرا نمی کند. چرا؟
بهروز عباسی
جمعه 28 تیر 1392, 12:01 عصر
کدش رو بذار ببینیم ،چی نوشتی ؟
karbara121
جمعه 28 تیر 1392, 23:51 عصر
void CP22Dlg::OnBnClickedRunpgm1()
{
// TODO: Add your control notification handler code here
UpdateData(TRUE);
if(m_strProgToRun == (L" ماشین حساب ")) WinExec("calc.exe",SW_SHOW);
if(m_strProgToRun == (L" دفترچه یادداشت ")) WinExec("notepad.exe",SW_SHOW);
if(m_strProgToRun == (L" پاستور ")) WinExec("sol.exe",SW_SHOW);
}
void CP22Dlg::OnBnClickedCkenblmsg()
{
// TODO: Add your control notification handler code here
UpdateData(TRUE);
if(m_bShowMsg == TRUE)
{
GetDlgItem(IDC_MSG)->ShowWindow(TRUE);
GetDlgItem(IDC_SHWMSG)->ShowWindow(TRUE);
GetDlgItem(IDC_DFLTMSG)->ShowWindow(TRUE);
GetDlgItem(IDC_CLRMSG)->ShowWindow(TRUE);
GetDlgItem(IDC_STATICMSG)->ShowWindow(TRUE);
}
else
{
GetDlgItem(IDC_MSG)->ShowWindow(FALSE);
GetDlgItem(IDC_SHWMSG)->ShowWindow(FALSE);
GetDlgItem(IDC_DFLTMSG)->ShowWindow(FALSE);
GetDlgItem(IDC_CLRMSG)->ShowWindow(FALSE);
GetDlgItem(IDC_STATICMSG)->ShowWindow(FALSE);
}
}
void CP22Dlg::OnBnClickedEnblpgm()
{
// TODO: Add your control notification handler code here
UpdateData(TRUE);
if(m_bShowPgm == TRUE)
{
GetDlgItem(IDC_RUNPGM1)->ShowWindow(TRUE);
GetDlgItem(IDC_PROGTORUN)->ShowWindow(TRUE);
GetDlgItem(IDC_STATICPGM)->ShowWindow(TRUE);
}
else
{
GetDlgItem(IDC_RUNPGM1)->ShowWindow(FALSE);
GetDlgItem(IDC_PROGTORUN)->ShowWindow(FALSE);
GetDlgItem(IDC_STATICPGM)->ShowWindow(FALSE);
}
}
void CP22Dlg::OnBnClickedCkshwmsg()
{
// TODO: Add your control notification handler code here
UpdateData(TRUE);
if(m_bEnableMsg == TRUE)
{
GetDlgItem(IDC_MSG)->EnableWindow(TRUE);
GetDlgItem(IDC_SHWMSG)->EnableWindow(TRUE);
GetDlgItem(IDC_DFLTMSG)->EnableWindow(TRUE);
GetDlgItem(IDC_CLRMSG)->EnableWindow(TRUE);
GetDlgItem(IDC_STATICMSG)->EnableWindow(TRUE);
}
else
{
GetDlgItem(IDC_MSG)->EnableWindow(FALSE);
GetDlgItem(IDC_SHWMSG)->EnableWindow(FALSE);
GetDlgItem(IDC_DFLTMSG)->EnableWindow(FALSE);
GetDlgItem(IDC_CLRMSG)->EnableWindow(FALSE);
GetDlgItem(IDC_STATICMSG)->EnableWindow(FALSE);
}
}
void CP22Dlg::OnBnClickedCkshwpgm()
{
// TODO: Add your control notification handler code here
UpdateData(TRUE);
if(m_bEnablePgm == TRUE)
{
GetDlgItem(IDC_RUNPGM1)->EnableWindow(TRUE);
GetDlgItem(IDC_PROGTORUN)->EnableWindow(TRUE);
GetDlgItem(IDC_STATICPGM)->EnableWindow(TRUE);
}
else
{
GetDlgItem(IDC_RUNPGM1)->EnableWindow(FALSE);
GetDlgItem(IDC_PROGTORUN)->EnableWindow(FALSE);
GetDlgItem(IDC_STATICPGM)->EnableWindow(FALSE);
}
}
اگه لازمه بگید کتاب زو آپلود کنم. هیچ کدام از کد های بالا اجرا نمی شن
بهروز عباسی
شنبه 29 تیر 1392, 00:42 صبح
من الان حوصله تست کردن ندارم ولی مثلا
WinExec("calc.exe",SW_SHOW);
شما مسیر کامل برنامه Calc رو بده یعنی :
WinExec("C:\Windows\system32\calc.exe",SW_SHOW);
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.