[VC(Visual C++) ]- 68_啟動控制台

[VC(Visual C++) ]- 68_啟動控制台

[VC(Visual C++) ]- 68_啟動控制台

本篇分享68_啟動控制台程式範例有興趣的(C/P)同好歡迎來http://yfdisk.com/file/jashliao/0446e80b/索取因為我不會上傳檔案分享哈哈 ^ ^

主要程式碼

001    // Call Control_RunDLLDlg.cpp : implementation file                
002    //                
003                    
004    #include "stdafx.h"                
005    #include "Call Control_RunDLL.h"                
006    #include "Call Control_RunDLLDlg.h"                
007                    
008    #ifdef _DEBUG                
009    #definenew DEBUG_NEW                
010    #undef THIS_FILE                
011    staticchar THIS_FILE[] = __FILE__;                
012    #endif                
013                    
014    /////////////////////////////////////////////////////////////////////////////                
015    // CAboutDlg dialog used for App About                
016                    
017    class CAboutDlg : public CDialog                
018    {                
019    public:                
020        CAboutDlg();            
021                    
022    // Dialog Data                
023        //{{AFX_DATA(CAboutDlg)            
024        enum { IDD = IDD_ABOUTBOX };            
025        //}}AFX_DATA            
026                    
027        // ClassWizard generated virtual function overrides            
028        //{{AFX_VIRTUAL(CAboutDlg)            
029        protected:            
030        virtualvoid DoDataExchange(CDataExchange* pDX);    // DDX/DDV support            
031        //}}AFX_VIRTUAL            
032                    
033    // Implementation                
034    protected:                
035        //{{AFX_MSG(CAboutDlg)            
036        //}}AFX_MSG            
037        DECLARE_MESSAGE_MAP()            
038    };                
039                    
040    CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)                
041    {                
042        //{{AFX_DATA_INIT(CAboutDlg)            
043        //}}AFX_DATA_INIT            
044    }                
045                    
046    void CAboutDlg::DoDataExchange(CDataExchange* pDX)                
047    {                
048        CDialog::DoDataExchange(pDX);            
049        //{{AFX_DATA_MAP(CAboutDlg)            
050        //}}AFX_DATA_MAP            
051    }                
052                    
053    BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)                
054        //{{AFX_MSG_MAP(CAboutDlg)            
055            // No message handlers        
056        //}}AFX_MSG_MAP            
057    END_MESSAGE_MAP()                
058                    
059    /////////////////////////////////////////////////////////////////////////////                
060    // CCallControl_RunDLLDlg dialog                
061                    
062    CCallControl_RunDLLDlg::CCallControl_RunDLLDlg(CWnd* pParent /*=NULL*/)                
063        : CDialog(CCallControl_RunDLLDlg::IDD, pParent)            
064    {                
065        //{{AFX_DATA_INIT(CCallControl_RunDLLDlg)            
066            // NOTE: the ClassWizard will add member initialization here        
067        //}}AFX_DATA_INIT            
068        // Note that LoadIcon does not require a subsequent DestroyIcon in Win32            
069        m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);            
070    }                
071                    
072    void CCallControl_RunDLLDlg::DoDataExchange(CDataExchange* pDX)                
073    {                
074        CDialog::DoDataExchange(pDX);            
075        //{{AFX_DATA_MAP(CCallControl_RunDLLDlg)            
076            // NOTE: the ClassWizard will add DDX and DDV calls here        
077        //}}AFX_DATA_MAP            
078    }                
079                    
080    BEGIN_MESSAGE_MAP(CCallControl_RunDLLDlg, CDialog)                
081        //{{AFX_MSG_MAP(CCallControl_RunDLLDlg)            
082        ON_WM_SYSCOMMAND()            
083        ON_WM_PAINT()            
084        ON_WM_QUERYDRAGICON()            
085        ON_BN_CLICKED(IDC_BUTTON1, OnButton1)            
086        //}}AFX_MSG_MAP            
087    END_MESSAGE_MAP()                
088                    
089    /////////////////////////////////////////////////////////////////////////////                
090    // CCallControl_RunDLLDlg message handlers                
091                    
092    BOOL CCallControl_RunDLLDlg::OnInitDialog()                
093    {                
094        CDialog::OnInitDialog();            
095                    
096        // Add "About..." menu item to system menu.            
097                    
098        // IDM_ABOUTBOX must be in the system command range.            
099        ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);            
100        ASSERT(IDM_ABOUTBOX < 0xF000);            
101                    
102        CMenu* pSysMenu = GetSystemMenu(FALSE);            
103        if (pSysMenu != NULL)            
104        {            
105            CString strAboutMenu;        
106            strAboutMenu.LoadString(IDS_ABOUTBOX);        
107            if (!strAboutMenu.IsEmpty())        
108            {        
109                pSysMenu->AppendMenu(MF_SEPARATOR);    
110                pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);    
111            }        
112        }            
113                    
114        // Set the icon for this dialog.  The framework does this automatically            
115        //  when the application's main window is not a dialog            
116        SetIcon(m_hIcon, TRUE);            // Set big icon
117        SetIcon(m_hIcon, FALSE);        // Set small icon    
118                    
119        // TODO: Add extra initialization here            
120                    
121        return TRUE;  // return TRUE  unless you set the focus to a control            
122    }                
123                    
124    void CCallControl_RunDLLDlg::OnSysCommand(UINT nID, LPARAM lParam)                
125    {                
126        if ((nID & 0xFFF0) == IDM_ABOUTBOX)            
127        {            
128            CAboutDlg dlgAbout;        
129            dlgAbout.DoModal();        
130        }            
131        else            
132        {            
133            CDialog::OnSysCommand(nID, lParam);        
134        }            
135    }                
136                    
137    // If you add a minimize button to your dialog, you will need the code below                
138    //  to draw the icon.  For MFC applications using the document/view model,                
139    //  this is automatically done for you by the framework.                
140                    
141    void CCallControl_RunDLLDlg::OnPaint()                 
142    {                
143        if (IsIconic())            
144        {            
145            CPaintDC dc(this); // device context for painting        
146                    
147            SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);        
148                    
149            // Center icon in client rectangle        
150            int cxIcon = GetSystemMetrics(SM_CXICON);        
151            int cyIcon = GetSystemMetrics(SM_CYICON);        
152            CRect rect;        
153            GetClientRect(&rect);        
154            int x = (rect.Width() - cxIcon + 1) / 2;        
155            int y = (rect.Height() - cyIcon + 1) / 2;        
156                    
157            // Draw the icon        
158            dc.DrawIcon(x, y, m_hIcon);        
159        }            
160        else            
161        {            
162            CDialog::OnPaint();        
163        }            
164    }                
165                    
166    // The system calls this to obtain the cursor to display while the user drags                
167    //  the minimized window.                
168    HCURSOR CCallControl_RunDLLDlg::OnQueryDragIcon()                
169    {                
170        return (HCURSOR) m_hIcon;            
171    }                
172                    
173    void CCallControl_RunDLLDlg::OnButton1()                 
174    {                
175        // TODO: Add your control notification handler code here            
176        /*            
177        rundll32.exe shell32.dll,Control_RunDLL timedate.cpl    設定時間        
178        rundll32.exe shell32.dll,Control_RunDLL access.cpl            
179        rundll32.exe shell32.dll,Control_RunDLL appwiz.cpl    新增移除程式        
180        rundll32.exe shell32.dll,Control_RunDLL desk.cpl    顯示器        
181        rundll32.exe shell32.dll,Control_RunDLL firewall.cpl    防火牆        
182        rundll32.exe shell32.dll,Control_RunDLL hdwwiz.cpl    新增硬體        
183        rundll32.exe shell32.dll,Control_RunDLL inetcpl.cpl    IE設定        
184        rundll32.exe shell32.dll,Control_RunDLL intl.cpl    地區        
185        rundll32.exe shell32.dll,Control_RunDLL joy.cpl        搖桿    
186        rundll32.exe shell32.dll,Control_RunDLL main.cpl    滑鼠        
187        rundll32.exe shell32.dll,Control_RunDLL mmsys.cpl    音量        
188        rundll32.exe shell32.dll,Control_RunDLL ncpa.cpl    網卡/撥接        
189        rundll32.exe shell32.dll,Control_RunDLL netsetup.cpl    網路設定        
190        rundll32.exe shell32.dll,Control_RunDLL nusrmgr.cpl    使用者        
191        rundll32.exe shell32.dll,Control_RunDLL odbccp32.cpl    ODBC        
192        rundll32.exe shell32.dll,Control_RunDLL powercfg.cpl    電源管理        
193        rundll32.exe shell32.dll,Control_RunDLL sysdm.cpl    系統內容        
194        rundll32.exe shell32.dll,Control_RunDLL telephon.cpl            
195        rundll32.exe shell32.dll,Control_RunDLL sapi.cpl            
196        */            
197        ShellExecute(NULL,"open","C:\\WINDOWS\\system32\\rundll32.exe","shell32.dll,Control_RunDLL",NULL,SW_SHOWNORMAL);            
198    }                

 

 

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *