|
Please let me know if we can use CImage code in VS2008.
Thanks,
Ashwath.
|
|
|
|
|
Yes, just include <atlimage.h> virtual void BeHappy() = 0;
|
|
|
|
|
|
Hi all,
I was trying to make self deleting executable. I found a article on code project []
my problem is i am stucked at one place my folder is not getting deleted.
CString templ =
"del \"%s\"\r\n"
"taskkill /im selfdelete.exe\r\n"
"del \"%s\"\r\n"
"rmdir /S /Q \"%s\"\r\n"
"del \"%s\"" ;
CString tempstr;
CString modulename;
LPTSTR pPath = tempstr.GetBufferSetLength(MAX_PATH);
GetTempPath ( MAX_PATH, pPath );
tempstr.ReleaseBuffer();
tempstr = tempstr + tempbatname;
LPTSTR modulenm = modulename.GetBufferSetLength(MAX_PATH);
GetModuleFileName(NULL,modulenm,MAX_PATH) ;
modulename.ReleaseBuffer();
CString str = modulename;
int k = str.Find('\\');
while(k >= 0)
{
str = str.Right(str.GetLength()-k-1);
k = str.Find('\\');
}
CString folder = modulename.Left(modulename.GetLength()-str.GetLength());
CString iniFile = folder;
CString file = "\\selfdeletepath.txt";
iniFile = iniFile + file;
HANDLE hf ;
hf = CreateFile(tempstr, GENERIC_WRITE, 0, NULL,CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL) ;
if (hf != INVALID_HANDLE_VALUE)
{
DWORD len ;
CString bat ;
LPTSTR bBat = bat.GetBufferSetLength(MAX_PATH);
bat = (char*)alloca(strlen(templ) + strlen(modulename) * 2 + strlen(tempstr) + 20) ;
wsprintf(bBat, templ,iniFile, modulename, folder, tempstr) ;
WriteFile(hf, bat, strlen(bat), &len, NULL) ;
CloseHandle(hf) ;
ShellExecute(NULL, "open", tempstr, NULL, NULL, SW_HIDE);
}
}
can anybody please tell me what i am doing wrong.
thanks in advance
|
|
|
|
|
You can try SHFILEOPSTRUCT Structure
|
|
|
|
|
I smell this exe itself to be like a virus
Well i think you are doing something which is weird
ShellExecute itself, check the argument.
Well i am doubted about your logic of deletion.
I believe you can achieve the deletion in XP with a different logic.
Create a remote thread and attach to some other process before exiting your native executable, and then delete from that remote thread.
Just try that Величие не Бога может быть недооценена.
|
|
|
|
|
Dear all,
I have made a DLL using VS - 6. But it does not display any information when i go through by right click on it and goes to property. In case of other Microsoft DLL, that shows many info. So how can I set like author, version info etc.
Thanks to all
|
|
|
|
|
You have to modify you version section of the app resources:
Solution View -> app.rc -> ContextMenu ->
Open With -> Resource Editor -> ContextMenu ->
Add resource -> Version virtual void BeHappy() = 0;
|
|
|
|
|
Thanks for replying
I am not using VS 2003 or 05. I am using VS6. I have added a resource file. I already edit version info. but it does not display when i right click on it
|
|
|
|
|
Hi,
In my VC++ MFC applcaiton,i have different views.And in each view,when i maximize it,i changed the size and position to new thing(Normally it fully get maximixed to screen size).But i dont want tht.So in OnSize() i coded like this.
void CChildFrame::OnSize(UINT nType, int cx, int cy)
{
CMDIChildWnd::OnSize(nType, cx, cy);
int XBorder = GetSystemMetrics(SM_CXMAXIMIZED);
int YBorder = GetSystemMetrics(SM_CYMAXIMIZED);
switch (nType)
{
case SIZE_MAXIMIZED:
SetWindowPos(NULL,0,60,XBorder-45,YBorder-60,SWP_NOZORDER );
break;
}
}
But what happened is?When i maximize the view,its get maximized to above mention size only.But in that blue bar,there si no minimize,maximize,close button.
When i double click in the blue bar,its get to resumed to previous postion with all buttons.
How can i get that?Anu
|
|
|
|
|
Try AfxGetMainWnd()->SetWindowPos(..)
Better - you implement this (OnSize(..) ) reaction
for your MainFrame only virtual void BeHappy() = 0;
|
|
|
|
|
Always my mainframe is in maximized position only.So i want to set this for childframe only. Anu
|
|
|
|
|
Can you get the button by border-resizing after the action ? virtual void BeHappy() = 0;
|
|
|
|
|
All button are getting added to mainframe.At the right side end of meubar,
File Edit View.....(here 3 buttos)
I dont know why the buttons obly get added to Mainframe.Anu
|
|
|
|
|
Can you see the button at the child blue bar after
case SIZE_MAXIMIZED:
SetWindowPos(NULL,0,60,XBorder-45,YBorder-60,SWP_NOZORDER );
break;
when you just resize the child frame at its border ? virtual void BeHappy() = 0;
|
|
|
|
|
When opening that child window it has buttons in bar.
When i maximize,the buttons are added to mainfrmae(as usual,normally it will happen like this only).
Only the child window with empty bar(without system menu)is appearing.Anu
|
|
|
|
|
Please test it:
BEGIN_MESSAGE_MAP(CYourWnd, CBaseOfYouWnd)
...
ON_WM_GETMINMAXINFO()
END_MESSAGE_MAP()
void CYourWnd::OnGetMinMaxInfo(MINMAXINFO* lpMMI)
{
lpMMI->ptMaxTrackSize.x = 400;
lpMMI->ptMaxTrackSize.y = 200;
} virtual void BeHappy() = 0;
|
|
|
|
|
Actually i tried that.But wat happen is the X,Y positon of window is getting 0,0.But i want X=0,Y=60.
Because above 60,i have one dialog.Its always visible.So i made this child window below that dialog.
For this functionality i want this feature.Anu
|
|
|
|
|
Try also to change your reaction to :
void CChildFrame::OnSize(UINT nType, int cx, int cy)
{
CMDIChildWnd::OnSize(nType, cx, cy);
switch (nType) {
case SIZE_MAXIMIZED: {
MDIRestore();
int XBorder = GetSystemMetrics(SM_CXMAXIMIZED);
int YBorder = GetSystemMetrics(SM_CYMAXIMIZED);
SetWindowPos(NULL,0,60,XBorder-45,YBorder-60,SWP_NOZORDER );
}
break;
}
} virtual void BeHappy() = 0;
|
|
|
|
|
The window get maximized to full screen size. Anu
|
|
|
|
|
Does anybody know how to display button in one subitem for CListCtrl?
|
|
|
|
|
You could try to create a child button
(may be for each entry, stored in the item data as pointer)
at position (-1, -1, -1, -1)
and move it in the controls reaction on NM_CUSTOMDRAW virtual void BeHappy() = 0;
|
|
|
|
|
Have you try CListCtrlEx class ? Pay attention of this class and see how implement a radio button dialog of some column , in that way can you put there a button dialog !
modified on Monday, March 22, 2010 2:59 AM
|
|
|
|
|
Hi,
I'm creating a CWnd object on Top of CDialog object. I want to make that CWnd transparent and used following code. But that wasn't work. When this code used in the parent dialog both dialog and CWnd got the transparent effect.
HMODULE hUserDll = ::LoadLibrary(_T("USER32.dll"));
::SetWindowLong(m_hWnd, GWL_EXSTYLE, ::GetWindowLong(m_hWnd, GWL_EXSTYLE) | WS_EX_LAYERED );
::SetLayeredWindowAttributes(m_hWnd, 0, (255 * 70)/100, LWA_COLORKEY|LWA_ALPHA);
Please any one can explain why?
|
|
|
|
|
A layered window may not be a child (WS_CHILD)... virtual void BeHappy() = 0;
|
|
|
|
|