CFanatic

Go Back   CFanatic > Programming > MFC Programming

Join CFanatic Forum Now

win32 console application using MFC topic posted under MFC Programming which is a part of Programming category in CFanatic Forum
Reply
 
Thread Tools Display Modes
  #1  
Old 11-12-2008, 06:09 AM
Junior Member
 
Join Date: Nov 2008
Posts: 3
Thanks: 0
Thanked 0 Times in 0 Posts
chaitanya.vemasani is on a distinguished road
| More
win32 console application using MFC

Hi,
i m new to vc++. I have two different applications. once is MFC application and the other is win32 console application. i want to get the data from MFC application to win32 console application. can anyone explain me how to integrate an MFC application with win32 console application.

Thanks in Advance
Reply With Quote
  #2  
Old 11-12-2008, 05:37 PM
Senior Member
 
Join Date: Jul 2008
Posts: 101
Thanks: 0
Thanked 0 Times in 0 Posts
xpi0t0s is on a distinguished road
| More
Re: win32 console application using MFC

There are various forms of interprocess communication available in Win32, all of it is available for console programs; you just have to #include <windows.h> and any other relevant headers, then you can call the functions. There are DDE, OLE, messaging (Send/PostMessage), pipes and probably others too.

This of course assumes you have the source to each program and can modify them accordingly. If not then it's a lot harder; you can use a technique called "screen scraping" where you look at what the application displays and work out what data underlies that information.
Reply With Quote
  #3  
Old 11-13-2008, 02:32 AM
Junior Member
 
Join Date: Nov 2008
Posts: 3
Thanks: 0
Thanked 0 Times in 0 Posts
chaitanya.vemasani is on a distinguished road
| More
Re: win32 console application using MFC

Hi xpi0t0s,
Thanks for your reply.

How to link Win32 console application with MFC applications (both are two different executables). if you have any example code for this please post.

Thanks in Advance
Reply With Quote
  #4  
Old 11-13-2008, 01:17 PM
Senior Member
 
Join Date: Jul 2008
Posts: 101
Thanks: 0
Thanked 0 Times in 0 Posts
xpi0t0s is on a distinguished road
| More
Re: win32 console application using MFC

Do you have the source code for both programs?
Reply With Quote
  #5  
Old 11-14-2008, 07:09 AM
Junior Member
 
Join Date: Nov 2008
Posts: 3
Thanks: 0
Thanked 0 Times in 0 Posts
chaitanya.vemasani is on a distinguished road
| More
Re: win32 console application using MFC

Please find the code below
Code:
class CAboutDlg : public CDialog
{
public:
	CAboutDlg();

// Dialog Data
	//{{AFX_DATA(CAboutDlg)
	enum { IDD = IDD_ABOUTBOX };
	//}}AFX_DATA

	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CAboutDlg)
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
	//}}AFX_VIRTUAL

// Implementation
protected:
	//{{AFX_MSG(CAboutDlg)
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
};

CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)
{
	//{{AFX_DATA_INIT(CAboutDlg)
	//}}AFX_DATA_INIT
}

void CAboutDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CAboutDlg)
	//}}AFX_DATA_MAP
}

BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)
	//{{AFX_MSG_MAP(CAboutDlg)
		// No message handlers
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CSimpleMFCDlg dialog

CSimpleMFCDlg::CSimpleMFCDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CSimpleMFCDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CSimpleMFCDlg)
	m_strName = _T("");
	//}}AFX_DATA_INIT
	// Note that LoadIcon does not require a subsequent DestroyIcon in Win32
	m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}

void CSimpleMFCDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CSimpleMFCDlg)
	DDX_Control(pDX, IDC_ESTRNAME, m_cestrName);
	DDX_Text(pDX, IDC_ESTRNAME, m_strName);
	//}}AFX_DATA_MAP
}

BEGIN_MESSAGE_MAP(CSimpleMFCDlg, CDialog)
	//{{AFX_MSG_MAP(CSimpleMFCDlg)
	ON_WM_SYSCOMMAND()
	ON_WM_PAINT()
	ON_WM_QUERYDRAGICON()
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CSimpleMFCDlg message handlers

BOOL CSimpleMFCDlg::OnInitDialog()
{
	CDialog::OnInitDialog();

	// Add "About..." menu item to system menu.

	// IDM_ABOUTBOX must be in the system command range.
	ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
	ASSERT(IDM_ABOUTBOX < 0xF000);

	CMenu* pSysMenu = GetSystemMenu(FALSE);
	if (pSysMenu != NULL)
	{
		CString strAboutMenu;
		strAboutMenu.LoadString(IDS_ABOUTBOX);
		if (!strAboutMenu.IsEmpty())
		{
			pSysMenu->AppendMenu(MF_SEPARATOR);
			pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
		}
	}

	// Set the icon for this dialog.  The framework does this automatically
	//  when the application's main window is not a dialog
	SetIcon(m_hIcon, TRUE);			// Set big icon
	SetIcon(m_hIcon, FALSE);		// Set small icon
	
	// TODO: Add extra initialization here
	
	return TRUE;  // return TRUE  unless you set the focus to a control
}

void CSimpleMFCDlg::OnSysCommand(UINT nID, LPARAM lParam)
{
	if ((nID & 0xFFF0) == IDM_ABOUTBOX)
	{
		CAboutDlg dlgAbout;
		dlgAbout.DoModal();
	}
	else
	{
		CDialog::OnSysCommand(nID, lParam);
	}
}

// If you add a minimize button to your dialog, you will need the code below
//  to draw the icon.  For MFC applications using the document/view model,
//  this is automatically done for you by the framework.

void CSimpleMFCDlg::OnPaint() 
{
	if (IsIconic())
	{
		CPaintDC dc(this); // device context for painting

		SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);

		// Center icon in client rectangle
		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;

		// Draw the icon
		dc.DrawIcon(x, y, m_hIcon);
	}
	else
	{
		CDialog::OnPaint();
	}
}

// The system calls this to obtain the cursor to display while the user drags
//  the minimized window.
HCURSOR CSimpleMFCDlg::OnQueryDragIcon()
{
	return (HCURSOR) m_hIcon;
}

void CSimpleMFCDlg::OnOK() 
{
	   STARTUPINFO si;
	   PROCESS_INFORMATION pi;
	   	
	   BOOL bStatus;

	   memset( &si, 0, sizeof(STARTUPINFO) );             //  Initialize structures
	   memset( &pi, 0, sizeof(PROCESS_INFORMATION) );

	   si.cb = sizeof(STARTUPINFO);
	   si.dwFlags = STARTF_USESHOWWINDOW | STARTF_USESTDHANDLES;
	   si.wShowWindow = SW_HIDE;        //  Don't show the console window (DOS box)

	// TODO: Add extra validation here
	
//	CDialog::OnOK();
	m_cestrName.GetWindowText(m_strName);

	bStatus = CreateProcess( NULL, "..\\Console\\Debug\\Console.exe", NULL, NULL, TRUE, 0, NULL, NULL, &si, &pi );
}
Console.exe is a win32 console application. i m able to create a process and it is successfully running but i dont know how to send the data to the console application.

Please help me. i m deadly need of this.

Thanks in Advance.

Last edited by shabbir; 11-14-2008 at 08:00 AM. Reason: Code block
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are Off
Refbacks are Off

Similar Threads
Thread Thread Starter Forum Replies Last Post
Win32 programming book sen_kumar76 Win32 Programming 11 09-11-2011 01:26 PM
new win32 programmer rajeshreddy Introduce yourself 1 02-20-2008 01:30 AM
msdos character mode console programming- multiple windows HowardL Driver Development 0 08-05-2007 11:35 AM
How to run .exe file from console leoman730 C++ Programming 0 09-30-2006 04:48 AM
Win32 resources shabbir Win32 Programming 0 09-09-2006 05:16 AM

 

Advertisement

CFanatic Search
Custom Search

Advertisement

All times are GMT -5. The time now is 04:36 AM.



Powered by vBulletin® Version 3.7.4
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2010, Crawlability, Inc.
Cfanatic.com is a premier member of the IDG TechNetwork. For advertising opportunities contact here
Get Paid for Working on Projects Matching Your Expertise at Go4Expert's Jobs Board