|
sorry my mistake.. u need to specify it as below
ShellExecute( 0, _T("open"), _T("cmd") ,_T("/c arp -d"),0,SW_SHOW);
or
ShellExecute( 0, _T("open"), _T("cmd") ,_T("/k arp -d"),0,SW_SHOW);
nave
|
|
|
|
|
Hello Nave,
It works.Thanks a lot.
More relaxed the person high is his status.
|
|
|
|
|
harshandu wrote: I need to run the command "arp -d" in vc++.I use system("arp -d") but this opens the command prompt window.The Equivalent in VB without opening a command prompt is 'Shell "arp -d", vbHide'.How this can be done in vc++.
my personel favourite is CreateProcess
"Opinions are neither right nor wrong. I cannot change your opinion. I can, however, change what influences your opinion." - David Crow
cheers,
Alok Gupta
VC Forum Q&A :- I/ IV
Support CRY- Child Relief and you
|
|
|
|
|
harshandu wrote: How this can be done in vc++.
Natively, with the Win32 Api / MFC, more info http://www.codeproject.com/internet/IPHelper.asp[^]
I'd love to help, but unfortunatley I have prior commitments monitoring the length of my grass. :Andrew Bleakley:
|
|
|
|
|
Hello friends,
I am having difficuly in inserting data in database,I am able to do database
connection with the help of oledb consumer wizard,
For getting data from remote server i am using active -x events
<br />
<br />
void CArielProjectVer2Dlg::OnPriceChangeArielapictrl1(LPCTSTR SessionId, LPCTSTR RequestId, short MarketNo, LPCTSTR Market,LPCTSTR Bid, short BidDirection, LPCTSTR Ask, short AskDirection, <br />
LPCTSTR High, LPCTSTR Low, short MarketState, LPCTSTR Timestamp)<br />
--------------------------------------------------------------------------------
<br />
<br />
And using dll function to Insert data<br />
short setQuoteToDB(BSTR* strDateTimeStamp, short* intMarketNo, BSTR* strMarketName, <br />
BSTR* strBid, BSTR* strAsk, short* intMarketState);<br />
<br />
But i am not successfull in data insertion can you help me how to do this...
.do this need data casting...i am very new to progrraming...pls help me
This is my code i am using:
<br />
void CArielProjectVer2Dlg::OnPriceChangeArielapictrl1(LPCTSTR SessionId, LPCTSTR RequestId, short MarketNo, LPCTSTR Market, LPCTSTR Bid, short BidDirection, LPCTSTR Ask, short AskDirect<br />
ion,LPCTSTR High, LPCTSTR Low, short MarketState, LPCTSTR Timestamp) <br />
{<br />
SessID=SessionId;<br />
CurrentRequestId=RequestId;<br />
txtMarket = Market;<br />
<br />
marketno.Format("%d",MarketNo);<br />
bid_d.Format("%c",BidDirection);<br />
ask_d.Format("%c",AskDirection);<br />
marketstate.Format("%d",MarketState);<br />
<br />
m_MainEdit=m_MainEdit + "<Price Change>" SessionId + RequestId + marketno ;<br />
<br />
m_MainEdit=m_MainEdit + Market + Bid + bid_d + Ask +ask_d + High ;<br />
m_MainEdit=m_MainEdit + Low + marketstate + Timestamp ;<br />
<br />
UpdateData(FALSE);<br />
iLineCount=m_EditCtrl.GetLineCount();<br />
m_EditCtrl.LineScroll(iLineCount);<br />
<br />
_DBAccess db;<br />
db. setQuoteToDB(Timestamp,marketno,Market,B<br />
id,Ask,marketstate);<br />
UpdataData(TRUE);<br />
}<br />
--------------------------------------------------------------------------------
Errors:
1)cannot convert parameter 1 from 'const char ** ' to 'unsigned short ** '
2) cannot convert parameter 2 from 'class CString' to 'short *'
3) error C2664: 'setQuoteToDB' : cannot convert parameter 3 from 'const cha
r *' to 'unsigned short ** '
4) error C2664: 'setQuoteToDB' : cannot convert parameter 4 from 'const char
*' to 'unsigned short ** '
5)error C2664: 'setQuoteToDB' : cannot convert parameter 5 from 'const char
*' to 'unsigned short ** '
6) error C2664: 'setQuoteToDB' : cannot convert parameter 6 from 'class CStr
ing' to 'short *'
|
|
|
|
|
abrakadbra wrote: db. setQuoteToDB(Timestamp,marketno,Market,B
id,Ask,marketstate);
You need to convert LPCTSTR to BSTR and pass its address as parameter.
You can convert LPCTSTR to BSTR like this ;
BSTR bsVar = SysAllocString(lpCstr);
Do use SysFreeString() to release memory after use of BSTR .
|
|
|
|
|
thanks...but can you pls tell me more detail as change in my code...sorry but i am very much confused
|
|
|
|
|
As told earlier, Its compilation error. You need to use BSTR pointer.Use SysAlloString to convert LPCTSTR.
In case of CString object, you can use CString::AllocSysString for getting BSTR variable.
|
|
|
|
|
abrakadbra wrote: thanks...but can you pls tell me more detail as change in my code...sorry but i am very much confused
Hai Mr. Jadugar,
you can use Much Better class _bstr_t which is wrapper over BSTR and provide mechanism for LPCTSTR too!
"Opinions are neither right nor wrong. I cannot change your opinion. I can, however, change what influences your opinion." - David Crow
cheers,
Alok Gupta
VC Forum Q&A :- I/ IV
Support CRY- Child Relief and you
|
|
|
|
|
I am attempting to write a screen saver. however, even in the earliest stage, I'm having issues.
I have linked the scrnsave.lib, and added the required functions. Yet, I continue to get the following error:
1>scrnsave.lib(scrnsave.obj) : error LNK2019: unresolved external symbol _ScreenSaverProc@16 referenced in function _RealScreenSaverProc@16
#include <windows.h><br />
#include <scrnsave.h><br />
<br />
void InitGL(HWND hWnd, HDC &hDC, HGLRC &hRC);<br />
void CloseGL(HWND hWnd, HDC hDC, HGLRC hRC);<br />
int Width; <br />
int Height;<br />
<br />
#define TIMER 1 <br />
<br />
LRESULT WINAPI ScreenSaverProc(HWND hWnd, UINT message, <br />
WPARAM wParam, LPARAM lParam)<br />
{<br />
static HDC hDC;<br />
static HGLRC hRC;<br />
static RECT rect;<br />
<br />
switch ( message ) {<br />
<br />
case WM_CREATE: <br />
GetClientRect( hWnd, &rect );<br />
Width = rect.right; <br />
Height = rect.bottom;<br />
<br />
<br />
InitGL( hWnd, hDC, hRC );<br />
<br />
<br />
SetTimer( hWnd, TIMER, 10, NULL ); <br />
return 0;<br />
<br />
case WM_DESTROY:<br />
KillTimer( hWnd, TIMER );<br />
<br />
<br />
CloseGL( hWnd, hDC, hRC );<br />
return 0;<br />
<br />
case WM_TIMER:<br />
return 0; <br />
<br />
}<br />
<br />
<br />
return DefScreenSaverProc( <br />
hWnd, message, wParam, lParam );<br />
}<br />
<br />
static void InitGL(HWND hWnd, HDC & hDC, HGLRC & hRC)<br />
{<br />
<br />
PIXELFORMATDESCRIPTOR pfd;<br />
ZeroMemory( &pfd, sizeof( pfd) );<br />
pfd.nSize = sizeof( pfd);<br />
pfd.nVersion = 1;<br />
pfd.dwFlags = PFD_SUPPORT_OPENGL | PFD_DOUBLEBUFFER;<br />
pfd.iPixelType = PFD_TYPE_RGBA;<br />
pfd.cColorBits = 24;<br />
<br />
hDC = GetDC( hWnd );<br />
<br />
int i = ChoosePixelFormat( hDC, &pfd ); <br />
SetPixelFormat( hDC, i, &pfd );<br />
<br />
hRC = wglCreateContext( hDC );<br />
wglMakeCurrent( hDC, hRC );<br />
<br />
}<br />
<br />
static void CloseGL(HWND hWnd, HDC hDC, HGLRC hRC)<br />
{<br />
wglMakeCurrent( NULL, NULL );<br />
wglDeleteContext( hRC );<br />
ReleaseDC( hWnd, hDC );<br />
}<br />
<br />
BOOL WINAPI<br />
ScreenSaverConfigureDialog(HWND hDlg, UINT message, <br />
WPARAM wParam, LPARAM lParam)<br />
{<br />
return FALSE;<br />
}<br />
<br />
BOOL WINAPI RegisterDialogClasses(HANDLE hInst)<br />
{<br />
return TRUE;<br />
}
I've been stuck here for a while, so any help you can offer would be greatly appriciated. Also, not sure if this was the best forum for this post...If not, please advise, and I will correct.
Thank you.
|
|
|
|
|
You need to export your ScreenSaverProc function so scrnsave.lib can link to it...
See the "Creating a module-definition file" section in Handling Screen Savers[^]
Mark
|
|
|
|
|
Thank you Mark, I'm sure that is the problem. However, when I export the two functions, I get the following:
1>LINK : error LNK2001: unresolved external symbol ScreenSaverProc
So, again, I'm at a loss.
|
|
|
|
|
Did you export using a def file? If so, you may need to add the def file to your project's linker
options (option "Linker | Input | Module Definition File" on VS2003).
Mark
|
|
|
|
|
I attempted using def file (and it was linked) and using /EXPORT. Both gave me the same reply.
ps. using VS2005
|
|
|
|
|
Hmmm should have linked
What about declaring the ScreenSaverProc like this:
__declspec( dllexport ) LRESULT WINAPI ScreenSaverProc(HWND hWnd, UINT message,
WPARAM wParam, LPARAM lParam);
|
|
|
|
|
You probably know this, but the docs state:
"The ScreenSaverProc function must be exported by including it in the EXPORTS statement in the application's module-definition (.def) file."
Are you sure the linker was using your def file? There should be a /DEF:myapp.def entry for the
liker command line.
|
|
|
|
|
/DEF:screensaver.def is in the linker command line. But got the same error.
Attempted __declspec( dllexport )LRESULT WINAPI ScreenSaverProc(HWND hWnd, UINT message,
WPARAM wParam, LPARAM lParam)
and got the following error:
1>c:\documents and settings\devin\my documents\visual studio 2005\projects\screen saver 3\screen saver 3\screen saver.cpp(16) : error C2375: 'ScreenSaverProcW' : redefinition; different linkage
Aside from it being so frustrating to get stuck so early on in a project, its almost commical
|
|
|
|
|
nineofhearts00 wrote: ScreenSaverProcW
There's a clue! The docs don't mention a Unicode ScreenSaverProc!
Try changing the screensaverproc name to ScreenSaverProcA (ANSI) or ScreenSaverProcW (Unicode)
and exporting as the new name.
nineofhearts00 wrote: side from it being so frustrating to get stuck so early on in a project, its almost commical
No kidding! This should be a simple one!
|
|
|
|
|
OK actually it's "documented" in scrnsave.h
I suppose your function name can stay the same but you'll need to export it with the W for unicode
(no A for ANSI though!)
*EDIT* From scrnsave.h
#ifdef UNICODE
LRESULT WINAPI ScreenSaverProcW (HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam);
# define ScreenSaverProc ScreenSaverProcW
#else
LRESULT WINAPI ScreenSaverProc (HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam);
#endif
|
|
|
|
|
Even funnier...
Changed the Export to ScreenSaverProcW and ended up with the original errors:
1>scrnsave.lib(scrnsave.obj) : error LNK2019: unresolved external symbol _ScreenSaverProc@16 referenced in function _RealScreenSaverProc@16
1>scrnsave.lib(scrnsave.obj) : error LNK2019: unresolved external symbol __imp__InitCommonControlsEx@4 referenced in function _WinMainN@16
Believe it or not, I have started from scratch on this a few times already, just to make sure I haven't missed anything. I think at this point I have read everything online about screen savers.
|
|
|
|
|
I just built an app and got the same error.
As soon as I added scrnsave.lib to the project linker/input/additional Dependencies setting the
error went away.
|
|
|
|
|
I have it linked. I swear.
Since it has worked for you, i'm going to list everything i did and see if anything sticks out to you. (and thank you again for all your time)
1. new win32 console app (made it empty)
2. new cpp file containing all the functions you've seen.
3. add scrnsave.lib to linker input additional dependancies
4. new resourse def file. added EXPORTS for both the functions
5. added the IDS_DESCRIPTION=1 to the string table
I think that is it. 5 little steps and i still can't get it right lol
|
|
|
|
|
nineofhearts00 wrote: 1. new win32 console app (made it empty)
No Bueno. Should be a Win32 GUI app.
Mine linked with no exports or def file.
Here's what's in my stdafx.h precompiled header:
#define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers
#include <windows.h>
#include <stdlib.h>
#include <malloc.h>
#include <memory.h>
#include <tchar.h>
#include <scrnsave.h>
A console app is going to compile different because WIN32 and _WINDOWS need to be defined.
|
|
|
|
|
By the way I had to add comctl32.lib in my project to link with InitCommonControlsEx.
|
|
|
|
|
and add comctl32.lib for the other unresolved (InitCommonControlsEx)
|
|
|
|
|