|
I like to use WideCharToMultiByte[^] Величие не Бога может быть недооценена.
|
|
|
|
|
or
WideCharToMultiByte[^] ... txtspeak is the realm of 9 year old children, not developers. Christian Graus
|
|
|
|
|
|
|
or use like this:
#include "StringA.h"
#include "StringW.h"
CStringW sTestW( L"Test" );
CStringA sTestA( "Test" );
CStringW sConvertW = sTestA;
CStringA sConvertA = sTestW;
</pre>
|
|
|
|
|
I have displayed a bitmap on the screen.Now i want to save it in the harddisk after performing some painting operations on it.How do i achieve this?Please help.
Thanking you in advance,
Ashwath.
|
|
|
|
|
Try it :
CImage::Attach(HBITMAP);
CImage::Save(LPCTSTR);
CImage::Detach(); virtual void BeHappy() = 0;
|
|
|
|
|
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
|
|
|
|