|
And I guess that you think now why I want to do this!
But don't ask!
I want to get the window of a button or any control in another application.
I know how to get the windows window:
HWND theWnd = ::FindWindow(classname, ortitlename);
But then I want to get the window handle of a button that is in window theWnd.
Hope you understand!
And I tell ya again, please don't ask me WHY!
------------------------------
©0d3 ©®4©k3® - That's me!
------------------------------
|
|
|
|
|
If you have the ID for the control (very easy to know using Spy++, that comes as an utility in Visual Studio), ::GetDlgItem(theWnd,id) returns a handle to the button you're interested in.
Joaquín M López Muñoz
Telefónica, Investigación y Desarrollo
PS: And if you want to programmatically press the button, here's how:
::SendMessage(hwndDlg,WM_NEXTDLGCTL,(WPARAM)hwndButton,(LPARAM)TRUE);
::SendMessage(hwndButton,BM_CLICK,0,0);
|
|
|
|
|
Hombreeee !!!
Gente de España !!!, aquí uno de Málaga !!! ( Braulio), Un saludo
Braulio
Braulio Díez Botella
Holte Innovation Málaga
|
|
|
|
|
are you swearing at him???
LOL
Nish
Sonork ID 100.9786 voidmain
www.busterboy.org
If you don't find me on CP, I'll be at Bob's HungOut
|
|
|
|
|
No, only, is always fun to find people from Spain ( like me), I know few people from Spain that uses CodeProject, ... that´s why... ( not U.S., or U.K., Or U... )
|
|
|
|
|
Yeah, I understand.
Anyway, I was just kidding
Nish
Sonork ID 100.9786 voidmain
www.busterboy.org
If you don't find me on CP, I'll be at Bob's HungOut
|
|
|
|
|
Que tal, hombre
Yo de Cáceres, pero trabajando en Madrid.
Mi impresión es que aquí en CodeProject debemos ser muy poquitos. Desgraciadamente la sección de "Demographics" del CodeProject nos engloba en "Others" así que es difícil saber.
Un saludo,
Joaquín M López Muñoz
Telefónica, Investigación y Desarrollo
|
|
|
|
|
Cáceres !
Allí estuve yo hace un par de años, no veas que ciudad más chula !, lo que es la ciudad medieval es increible, y por la noche ya me quede flipado dando una vuelta por ahí. Tengo unos amiguetes en Berzocana, así que con un poco de suerte me subo al valle del Jerte esta primavera a ver si pillo los Almendros en flor, dicen que es la hostia...
Ya ve, lo de Madrid/Barcelona, está a la orden del día, yo me fui dos años al extranjero, y después de eso me quería quedar en Málaga trabajando, pero te das cuenta de que esto es un boquete ( supongo que caceres en el tema de trabajo de informático de verdad es lo mismo), en la empresa en la que estoy, somos gente bastante competente con C++ y C#, y las pasamos putas... a veces te entran hasta ganas de o irte fuera, o preparte unas oposiciones y tirar por la borda toda el montón de años que has estado estudiando y trabajando.
Oye, pues encantado de encontrarte por aquí, seguiremos en contacto , un saludo
Braulio
|
|
|
|
|
But I can't get the ID of a button!?
I use Find Window and drags the point to the window with buttons, and then... ehat then to do?!?!?!???
HELPFUL FOR AN ANSWER!! :
------------------------------
©0d3 ©®4©k3® - That's me!
------------------------------
|
|
|
|
|
Since you know the coordinates of the button (you'll have to convert them from screen to client), you can use ChildWindowFromPointEx().
/ravi
"There is always one more bug..."
ravib@ravib.com
http://www.ravib.com
|
|
|
|
|
use EnumChildWindows
Nish
Sonork ID 100.9786 voidmain
www.busterboy.org
If you don't find me on CP, I'll be at Bob's HungOut
|
|
|
|
|
Okay, but is it with the callback I will get the buttons, help me using it, post code if you've use it!!
HELP!
------------------------------
©0d3 ©®4©k3® - That's me!
------------------------------
|
|
|
|
|
Yes, you need to do something like this in your callback:
BOOL CALLBACK gfnEnumChildProc(HWND hWnd, LPARAM lParam)
{
TCHAR szClass[60];
::GetClassName(hWnd, szClass, sizeof(szClass)/sizeof(TCHAR));
DWORD dwStyle = ::GetWindowLong(hWnd, GWL_STYLE);
if (_tcsicmp(szClass, TEXT("Static")) == 0)
{ ... }
else if ((_tcsicmp(szClass, TEXT("Button")==0) && !(dwStyle & BS_OWNERDRAW))
{ ... }
else if (_tcsicmp(szClass, TEXT("RICHEDIT") == 0)
{ ... }
return TRUE;
}
|
|
|
|
|
try this. You need to know the handle of the dialog (containing the button) first. If you don't have that, you can use the similar scheme to find that.
HWND GetButton(HWND hDlgWnd, CString strButtonCaption)
{
HWND hwndT = NULL;
CHAR szClassName[40];
CString strCap;
CWnd* pBtn;
for (hwndT = ::GetWindow(hDlgWnd, GW_CHILD); hwndT;
hwndT = ::GetWindow(hwndT, GW_HWNDNEXT))
{
if (GetClassName(hwndT, szClassName, 40))
{
if (!lstrcmpi(szClassName, "Button"))
{
pBtn = CWnd::FromHandle(hwndT);
pBtn ->GetWindowText(strCap);
if(strCap == strButtonCaption)
return hwndT ;
}
}
}
return NULL;
}
Hope this helps.
// Fazlul
Get RadVC today! Play RAD in VC++
http://www.capitolsoft.com
|
|
|
|
|
i need to know how i can hook a dll as in creat my own proxy dll so i can send and recive functions from the dll id like to hook, any info would be great, thanks!
|
|
|
|
|
Check Microsoft Detours library at:
Detours
|
|
|
|
|
Hello everybody!
How to create context menu with bitmap images?
If you have the sample of code, please send to my e-mail!!!
Best regards,
Eugene Pustovoyt
Sonork ID 100.10002:Yaumen
|
|
|
|
|
void CFORMPRINTINGView::OnPrint(CDC* pDC, CPrintInfo* /*pInfo*/)
{
UpdateData(TRUE);
pDC->SetMapMode(MM_ANISOTROPIC);
CRect rcClient;
GetClientRect(rcClient);
pDC->DPtoLP(rcClient);
LOGFONT logFont;
logFont.lfHeight = 40;
logFont.lfEscapement = 0;
logFont.lfOrientation = 0;
logFont.lfWeight = FW_NORMAL;
logFont.lfItalic = 0;
logFont.lfUnderline = 0;
logFont.lfStrikeOut = 0;
logFont.lfCharSet = ANSI_CHARSET;
logFont.lfOutPrecision = OUT_DEFAULT_PRECIS;
logFont.lfClipPrecision = CLIP_DEFAULT_PRECIS;
logFont.lfQuality = PROOF_QUALITY;
logFont.lfPitchAndFamily = VARIABLE_PITCH | FF_ROMAN;
strcpy(logFont.lfFaceName, "Times New Roman");
CFont* font = new CFont;
font->CreateFontIndirect(&logFont);
CFont* oldFont = pDC->SelectObject(font);
pDC->TextOut(280,1090,"A B C D E F G H J I");
}
i am using th above mentioned codes to print preview a text.. But the above method producing a memory leak as after few minutes scrolling the print preview window the text are not displayed anymore.... Can somebody please advice me....
|
|
|
|
|
It's all very well to catch the old font, but you also need to select it back into the DC if you want to avoid the memory leak.
Christian
After all, there's nothing wrong with an elite as long as I'm allowed to be part of it!! - Mike Burston Oct 23, 2001
Sonork ID 100.10002:MeanManOzI live in Bob's HungOut now
|
|
|
|
|
This line :
CFont* font = new CFont;
is the cause of the leak. There is no corresponding delete and using new does not result in automatic deletion when leaving scope. If this font needs to stay around it should probably be a member of your view class.
|
|
|
|
|
|
BOOL CAsyncSocket::Create(UINT nSocketPort, int nSocketType,
long lEvent, LPCTSTR lpszSocketAddress)
{
if (Socket(nSocketType, lEvent))
{
if (Bind(nSocketPort,lpszSocketAddress))
return TRUE;
int nResult = GetLastError();
Close();
WSASetLastError(nResult);
}
return FALSE;
}
as the "Communication Services" said, only servers need Bind . no clients need it
|
|
|
|
|
Well, the subject pretty much says it all - I've just noticed that in debug builds of my app, the Print Preview has its buttons in German. In Release builds, it's back in English.
I've gone all through the project settings, and everything's set to English (UK). Windows is set to English (UK). I can't find anything in the system set to German (although I may not be looking in the right places).
I created a new project from scratch with the MFC appwizard just to see if new projects had the same thing... and there were German print preview buttons.
I can't find any other common dialogues where it's appearing in German.
Any ideas as to what to look for? (before I lose any more hair! )
Thanks,
Andy Hassall (andy@andyh.org)
Space - disk usage analysis tool
|
|
|
|
|
This might be a totally wrong guess, but perhaps your printer driver has been installed with the german language pack
Nish
Sonork ID 100.9786 voidmain
www.busterboy.org
If you don't find me on CP, I'll be at Bob's HungOut
|
|
|
|
|
How can I get rid of this in a SDI app? Thanks for the help.
-Matt Newman
-Matt Newman
-Sonork ID: 100.11179:BestSnowman
|
|
|
|