|
I have a dialog-based application. I would like to have an icon displayed in the task bar, on the right edge near the clock, when user boots up the windows operating system. So when user moves mouse over the icon, some explanatory words will be displayed; or when user left-click the icon, the program will be executed. Is this possible? If it is, how? Please help. Sample codes would be most appreciated. Thank you.
|
|
|
|
|
Anyone have the scelleton-code for a Windows 2000 driver? Need some info about how to write one. I am going to use the 8254 Timer Chip, etc.
Any help would be much appreciated!
|
|
|
|
|
Why do you need to use this chip directly? Chances are, Windows is already making use of it, and trying to modify it directly with a driver could cause Windows to become unstable.
What's wrong with using Multimedia timers?
|
|
|
|
|
Because I have been given the task of doing so .. I need to access the chip directly, or at least by using some Win32 API calls .. hmm, my problem is how.
Thanks for answering btw ..
- Bjorn
|
|
|
|
|
Hi,
I have a MFC application that uses Microsoft Access tables.
The result of my program writes data into a Access database so at the end, I have a Table with the results.
I would like to know: How can I allow the user to save that RESULT TABLE where they SPECIFY the name of the table and the location of where to save it?
If anyone has any ideas, Please let me know.
Thanks in Advance
Steve
|
|
|
|
|
Hi Everyone,
How do I display the data in a Microsoft Access Table with an MFC application?
Can I call up a table from Access for display directly?
If anyone knows, Please let me know.
Thanks in Advance!
Steve
|
|
|
|
|
Hi,
I'm coding an add-in in VC 6. Is there a way to create a
dialog bar that will dock VC? I've looked in a lot of interfaces and stuff, but haven't really found anything.
Any help?
Thanks.
|
|
|
|
|
|
There is an article on this site called Undocument VC++ or something similar that describes some of the issues you're trying to deal with.
It's not easy, and it's a major hack.
|
|
|
|
|
hi does anyone has a sample code on screen capture which is a procedure which captures the screen of any active running window. Thanks for helping
|
|
|
|
|
hi does anyone has a sample code on screen capture which is a procedure which captures the screen of any active running window. Thanks for helping
|
|
|
|
|
http://support.microsoft.com/support/kb/articles/Q186/7/36.ASP
|
|
|
|
|
Hello,
I'm new to VC++ and struggling with doing something that should be fairly simple.
I have two projects in my workspace, proj1 and proj2. Proj2 has UNICODE and non-Unicode builds, and
debug and release versions of both. Proj1 only has Debug and Release.
What I want to do is say, when building proj2 UNICODE Debug, make sure that proj1 *Debug* is built.
VC++ isn't letting me do this. It always builds the Release version of proj1, no matter what. How do I
tell it what configuration to depend on?
Thanks,
Alex
|
|
|
|
|
Hmmm... this shouldn't be happening.
I took an existing dsw with a couple of projects, and set a dependency of one project (Pro1) to another (NewSMTPSample) - as shown here in the exported make file:
!IF "$(CFG)" == "Pro1 - Win32 Release"
"NewSMTPSample - Win32 Release" :
cd "\Develop(Tim)\NewSMTPSample"
$(MAKE) /$(MAKEFLAGS) /F ".\NewSMTPSample.mak" CFG="NewSMTPSample - Win32 Release"
cd "..\Pro1"
"NewSMTPSample - Win32 ReleaseCLEAN" :
cd "\Develop(Tim)\NewSMTPSample"
$(MAKE) /$(MAKEFLAGS) /F ".\NewSMTPSample.mak" CFG="NewSMTPSample - Win32 Release" RECURSE=1 CLEAN
cd "..\Pro1"
!ELSEIF "$(CFG)" == "Pro1 - Win32 Debug"
"NewSMTPSample - Win32 Debug" :
cd "\Develop(Tim)\NewSMTPSample"
$(MAKE) /$(MAKEFLAGS) /F ".\NewSMTPSample.mak" CFG="NewSMTPSample - Win32 Debug"
cd "..\Pro1"
"NewSMTPSample - Win32 DebugCLEAN" :
cd "\Develop(Tim)\NewSMTPSample"
$(MAKE) /$(MAKEFLAGS) /F ".\NewSMTPSample.mak" CFG="NewSMTPSample - Win32 Debug" RECURSE=1 CLEAN
cd "..\Pro1"
!ENDIF
As you can see, it should detect the build settings and select the corresponding build of the dependency. I suspect its because there is no UNICODE build that things get messed up. Export the makefile and have a look. You can probably edit it to achieve the desired results.
|
|
|
|
|
does anyone has a sample code on timer which allows you to call any procedure you want to call say, every 30 ms ? Thanks for helping
|
|
|
|
|
VOID CALLBACK TimerProc(
HWND hwnd, // handle to window
UINT uMsg, // WM_TIMER message
UINT_PTR idEvent, // timer identifier
DWORD dwTime // current system time
)
{
..................
}
// Set timer
SetTimer(hwnd, // handle to main window
IDT_TIMER1, // timer identifier
30, // 30ms interval
(TIMERPROC) MyTimerProc); // timer callback
// Delete timer
BOOL KillTimer(
HWND hwnd, // handle to window
UINT_PTR uIDEvent // timer identifier
);
|
|
|
|
|
sorrie I am new to C++ programming and I want to enquire which part of the code am I suppose to insert the procedures I want to call whenever this 30 ms interval is up?
|
|
|
|
|
Standard timers are not very accurate, since they depend on windows messages. If you have a lot of messages in your queue, then timer requests can be delayed.
You're better off using the multimedia timers, which have a much higher resolution than normal timers and are waitable (using WaitFor(Single/Multiple)Object(s)).
|
|
|
|
|
Does someone know how to change the color of a non owner-draw button?
|
|
|
|
|
I don't believe it's possible. I think you have to make it owner draw to change it.
I struggled with this problem myself, and ended up using statics and the WM_CTLCOLOR message and detecting WM_LBUTTONDOWN instead.
|
|
|
|
|
Does someone know how to change the color of a push button, who doesn't have the owner draw style?
Please help me.
|
|
|
|
|
Have you tried looking at the CColorButton class that is posted on here somewhere (just search for the class name). I am using it, acts perfectly except for in one location. The only drawback is having the owner draw property set on the button.
|
|
|
|
|
hi I need to modify the below Spy sample program but dont know how to modify it .Can anyone point out to me what is there to be changed in the Spy sample program because I dont know how to. I need to detect when any running active application refreshes its screen as a result of input from keyboard and mouse and by the way is wm_paint the message I should monitor for my program? I am really desperate because I am very new to c++ programming and I really hope you can help me . Thanks for replying.
/*****************************************************************************\
* hook.c - Windows message spy application dll
*
* Functions:
*
* DllMain()
* FindSpyWindow()
* HookProc()
* SpyGetMsgProc()
* SpyCallWndProc()
* DbgPrintf()
*
* Comments:
*
\*****************************************************************************/
#include <windows.h>
#include "..\hook.h"
PRIVATE HWND ghwndSpyHook = NULL; // the handle back to the spy executable
PRIVATE SPYMSGDATA gsmd;
PRIVATE COPYDATASTRUCT gcds = { 0, sizeof(SPYMSGDATA), &gsmd };
PRIVATE VOID FindSpyWindow(VOID);
#ifdef DBG
VOID DbgPrintf(LPTSTR fmt, ...);
#endif
/*****************************************************************************\
* DllMain (hModule,cbHeap,lpchCmdLine)
*
* Called when the libary is loaded
*
* Arguments:
* PVOID hModule - Module handle for the libary.
* ULONG ulReason - DLL purpose
* PCONTEXT pctx - not used
*
* Returns:
* TRUE - Everything is ok
* FALSE- Error.
\*****************************************************************************/
BOOL
APIENTRY DllMain(
PVOID hModule,
ULONG ulReason,
PCONTEXT pctx
)
{
UNREFERENCED_PARAMETER(hModule);
UNREFERENCED_PARAMETER(pctx);
//
// This function is called for every instance of the DLL. We must find
// and store the handle to the spy window every time an instance of the
// DLL is instantiated.
//
if ( ulReason == DLL_PROCESS_ATTACH ) {
FindSpyWindow();
}
return TRUE;
}
/*****************************************************************************\
* FindSpyWindow
*
* Finds the spy window and store a local copy in this instances data.
* This must be called everytime that a new instance of the DLL is
* created.
*
* Arguments:
* none
*
* Returns:
* VOID
\*****************************************************************************/
PRIVATE VOID
FindSpyWindow(
VOID
)
{
ghwndSpyHook = FindWindow(HOOKWINDOWCLASS, HOOKWINDOWNAME);
}
/*****************************************************************************\
* HookProc( hWnd, uiMessage, wParam, lParam )
*
* The hook proc for the windows hook being spied on
*
* Arguments:
* HWND hWnd - window handle for the parent window
* UINT uiMessage - message number
* WPARAM wParam - message-dependent
* LPARAM lParam - message-dependent
*
* Returns:
* 0 if processed, nonzero if ignored
\*****************************************************************************/
BOOL WINAPI
HookProc(
HWND hwnd,
UINT uiMessage,
WPARAM wParam,
LPARAM lParam
)
{
HWND hwndSpyingOn;
HWND hwndSpyApp;
if (ghwndSpyHook == NULL || !IsWindow(ghwndSpyHook))
{
//
// Spy has terminated. Find the new window.
//
FindSpyWindow();
}
if (ghwndSpyHook != NULL && hwnd != ghwndSpyHook)
{
hwndSpyingOn = (HWND)GetWindowLong(ghwndSpyHook, 0);
hwndSpyApp = (HWND)GetWindowLong(ghwndSpyHook, sizeof(HWND));
//DbgPrintf("H ghwndSpyHook:%8.8x", ghwndSpyHook);
//DbgPrintf("H hwndSpyingOn:%8.8x", hwndSpyingOn);
//DbgPrintf("H hwndSpyApp:%8.8x", hwndSpyApp);
//
// Send the message on asynchronously for Spy to deal with if
// it is the appropriate hwndSpyingOn window to spy on.
//
if (hwndSpyingOn == hwnd
|| (hwndSpyingOn == HWND_ALL && hwnd != hwndSpyApp
&& !IsChild(hwndSpyApp, hwnd)))
{
gsmd.wParam = wParam;
gsmd.lParam = lParam;
gcds.dwData = uiMessage;
//DbgPrintf("H Sending Message hwnd:%8.8x msg:%d", hwnd, uiMessage);
SendMessage(ghwndSpyHook, WM_COPYDATA, (WPARAM)hwnd, (LPARAM)&gcds);
//DbgPrintf("H Sent Message hwnd:%8.8x msg:%d", hwnd, uiMessage);
//DbgPrintf("");
return TRUE;
}
//DbgPrintf("");
}
return FALSE;
}
/*****************************************************************************\
* SpyGetMsgProc
*
* The Get Message hook function.
*
\*****************************************************************************/
LRESULT CALLBACK
SpyGetMsgProc(
INT hc,
WPARAM wParam,
LPARAM lParam
)
{
PMSG pmsg;
pmsg = (PMSG)lParam;
if (hc >= 0 && pmsg && pmsg->hwnd)
{
return HookProc(pmsg->hwnd, pmsg->message, pmsg->wParam, pmsg->lParam);
}
//
// Note that CallNextHookEx ignores the first parameter (hhook) so
// it is acceptable (barely) to pass in a NULL.
//
return CallNextHookEx(NULL, hc, wParam, lParam);
}
/*****************************************************************************\
* SpyCallWndProc
*
* The Call Window Proc (Send Message) hook function.
*
\*****************************************************************************/
LRESULT CALLBACK
SpyCallWndProc(
INT hc,
WPARAM wParam,
LPARAM lParam
)
{
PCWPSTRUCT pcwps;
pcwps = (PCWPSTRUCT)lParam;
if (hc >= 0 && pcwps && pcwps->hwnd)
{
return HookProc(pcwps->hwnd, pcwps->message, pcwps->wParam, pcwps->lParam);
}
//
// Note that CallNextHookEx ignores the first parameter (hhook) so
// it is acceptable (barely) to pass in a NULL.
//
return CallNextHookEx(NULL, hc, wParam, lParam);
}
#ifdef DBG
/****************************************************************************
* DBGprintf
*
* This debugging function prints out a string to the debug output.
* An optional set of substitutional parameters can be specified,
* and the final output will be the processed result of these combined
* with the format string, just like printf. A newline is always
* output after every call to this function.
*
* Arguments:
* LPTSTR fmt - Format string (printf style).
* ... - Variable number of arguments.
* Returns:
* VOID
\****************************************************************************/
VOID DbgPrintf(
LPTSTR fmt,
...
)
{
va_list marker;
TCHAR szBuf[256];
va_start(marker, fmt);
wvsprintf(szBuf, fmt, marker);
va_end(marker);
OutputDebugString(szBuf);
OutputDebugString(TEXT("\r\n"));
}
#endif
|
|
|
|
|
I have following problem:
I Use the Multicolumn ComboBox from Xiao Wu Guang to display some data from a database
(extract data from a table and insert it into the box)
but sometimes happen that two values are the same except the Case
for example
"hello" and "Hello"
in the Drop Down List i see both rows
but if i choose "Hello" the programm automaticle assume i chose "hello" (i think because
"hello" <= "Hello")
please can somebody tell me how i can make a case sensetive seletion???
tnx
|
|
|
|
|
hi,
i have for example a 'vector <object*>' and i have allocated memory for the 'object*' with 'new'.
now i use the clear()-method to clear the vector. have i to use 'delete' before to destroy the 'object*' ?
thx
|
|
|
|
|