|
who can give me a DES code... (C/C++)
|
|
|
|
|
i want to use installshield for vc++6.0 to make a single EXE file.
how can i do it? Installshield for vc++ can not build a single EXE file!
...
I like vb/vc..
|
|
|
|
|
tiaozi wrote:
Installshield for vc++ can not build a single EXE file!
Yes,I don't think it can.IF you want only one file there you have to use another installshield.I think there is one called "wise installer" that make only one file.
Mazy
"The more I search, the more my need
For you,
The more I bless, the more I bleed
For you."The Outlaw Torn-Metallica
|
|
|
|
|
thank you for your reply.
Installshield for VC++6 Can not build a single EXE file.
But Installshield Prefessional Version can do it!
|
|
|
|
|
hehe~~ i hava no money to buy Installshield professional version,
but i hava a copy of "wise install" and "setupbuilder"
|
|
|
|
|
From : Lightning, Lightniing@aol.com
Ah, don't use Install Sheild, there are TONS of other softwares out there that will make very good installers for you and they are FREEWARE and they let you have one single compressed .EXE named setup.exe as your result.
I use NSIS, (no affilliation) it's freeware. It has an uninstaller, can copy files, make registy changes, register your ocx DLL's for you and copy things to different directories. It'll even make a desktop shortcut icon. It's scriptable (easy!) and it doesn't suck. If you don't like it there are other third-party ones out there. Here's NSIS.
http://www.nullsoft.com/free/nsis/
Cheers!!
Lightning
|
|
|
|
|
I wanat to get security of file with GetFileSecurity() .I use the code below to do this.
HANDLE SAHeap = HeapCreate( HEAP_GENERATE_EXCEPTIONS , 0 ,0 );
PSECURITY_ATTRIBUTES pSD = NULL;
ACL_SIZE_INFORMATION ASizeInfo;
DWORD LenNeeded , iAce;
BOOL DaclF , AclDefF;
BYTE DAcl [256];
BYTE AType;
PACCESS_ALLOWED_ACE pAce;
PACL pAcl = (PACL) &DAcl;
POSITION pos = filelist->GetHeadPosition();
for(short i = 0 ; i < filelist->GetCount() ; i++ )
{
LPCTSTR s =(LPCTSTR)filelist->GetNext(pos).GetString();
GetFileSecurity( s, OWNER_SECURITY_INFORMATION | GROUP_SECURITY_INFORMATION
| DACL_SECURITY_INFORMATION , pSD , 0 , &LenNeeded );
pSD = (PSECURITY_ATTRIBUTES)HeapAlloc(SAHeap , HEAP_GENERATE_EXCEPTIONS , LenNeeded);
.
.
.
.
The problem arise in the last line.In some paths it works ok but in some paths unhandled error happend for last line(HeapAlloc() ).Any idea or any other way to alloc memory to pSD in other way?
The error is this:
Unhandled exception at 0x77f84472 in FileSecurity.exe: 0xC0000017: Not Enough Quota.
Mazy
"The more I search, the more my need
For you,
The more I bless, the more I bleed
For you."The Outlaw Torn-Metallica
|
|
|
|
|
Mazdak wrote:
Any idea for it any othe way to to alloc memory to pSD?
I don't think you need to create a separate heap. You can just use the normal C++ new operator/malloc.
|
|
|
|
|
Hi.
i'm new for COM. i'm wondering how can i add COM support in a win32 console program in VC? my program is simply like:
#include <iostream>
#include <windows.h>
// is anything else
int main()
{
if( FAILED(CoInitialize(NULL)) )
return -1;
IActiveDesktop* pIAD; // response :"undeclared identifier", what should i include above
...
CoUninitialize();
return 0;
}
thanks
|
|
|
|
|
Grant Chan wrote:
IActiveDesktop* pIAD; // response :"undeclared identifier", what should i include above
Just guess.Use
IActiveDesktopPtr pIAD;
Instead of:
IActiveDesktop* pIAD
And maybe you need to declare shlobj.h header.
Mazy
"The more I search, the more my need
For you,
The more I bless, the more I bleed
For you."The Outlaw Torn-Metallica
|
|
|
|
|
i have tried, it still doesn't work
|
|
|
|
|
Grant Chan wrote:
i have tried, it still doesn't work
Whats the error now?
Mazy
"The more I search, the more my need
For you,
The more I bless, the more I bleed
For you."The Outlaw Torn-Metallica
|
|
|
|
|
Use the MSDN Luke!
#include <shlobj.h>
--
Where are we going? And why am I in this handbasket?
|
|
|
|
|
#include <iostream>
#include <windows.h>
#include <shlobj.h>
// is anything else
int main()
{
if( FAILED(CoInitialize(NULL)) )
return -1;
IActiveDesktop* pIAD; // response :"undeclared identifier", what should i include above
...
CoUninitialize();
return 0;
}
still the same error
|
|
|
|
|
|
Thank you all for your replys. my program now changed as below:
#include <afx.h> // once include this afx.h, cannot include windows.h
#include <wininet.h>
#include <afxdisp.h>
#include <iostream>
CWinApp theApp;
int main()
{
if( FAILED(CoInitialize(NULL)) )
return -1;
IActiveDesktop* pIAD = 0;
... ...
CoUninitialize();
return 0;
}
it can be complied now, but there is another question, it that means the COM must require the MFC support in Win32.
|
|
|
|
|
Erik Funkenbusch wrote:
Use the MSDN Luke!
ROFL.
Michael
|
|
|
|
|
Hi !!!!
Please suggest me good resource on Internet from where I can learn the concept of I/O completion ports??? Please tell me any other method you know (excluding I/O completion port) which we can use to create a scalable server that can handle too many connections.
I am a winsock newbie. I started learning about Winsock API (without MFC ) few days ago. Initially I learnt about making servers that accept one connection at a time. In sencond step I learnt about creating the servers that can handle multiple connections with the help of Multithreading model. In this step, I came to know that creating one dedicated thread per client is a way to kill windows machine. I came to know that in order to create a good scalable server we should use I/O completion ports (Win2k)
So, in the third step i am planning to learn about I/O completion ports. I found 2 articles at CP, but i can't understand them properly. Please suggest me any other good resource on Internet where I can get good newbie information regarding I/O completion ports.
SamadAA
|
|
|
|
|
Unfortunately IO Completion ports are Microsoft best kept secret, very few articles and even less real world samples.
I can only suggest trawling thru the 'net looking for bits and pieces and then building the big picure yourself. There's a good book by Microsoft Press on Network Programming, that touches brief on IOCP.
Also depending on your application I/O Completion ports may not be the solution, there are many ways to implement a server depending on its workload and other factors. Learn the basics of Network programming then look at overlapped I/O, also you must be prepared to learn multithreading/synchronisation techniques.
Good luck on your quest.
Normski. - Professional Windows Programmer
|
|
|
|
|
You might find some stuff at sysinternals.
http://www.sysinternals.com/ntw2k/info/comport.shtml
|
|
|
|
|
Check out "Programming Applications for Microsoft Windows" by Jeffrey Richter or "Programming Server-Side Applications for Windows 2000" also by Jeffrey Richter and Jason Clark. These two books give great insight to IO Completions Ports.
|
|
|
|
|
*****************
//File: MyForm.h
public:
int number;
*******************
//File: Something.cpp
#include MyForm.h
void CSomething::OnBnClickedButton()
CMyForm myNew;
myNew.number = 3
AfxMessageBox(myNew.number);
*******************
When I run this and I click button1 I receive a
Debug Assertion Failed,
File: appui1.cpp
Line: 144
I press ignore and then my AfxMessageBox dispays empty.
*******************
I got this problem before when trying from a form1 to call the m_editBox.SetWindowText() function of a control on a form2, and someone suggested that the form2 was not yet created and to call the Create() function before.
I tought that with this simple int the things should be easier.
It wasn't so!
"Nelle cose del mondo non e' il sapere ma il volere che puo'."
|
|
|
|
|
If you want to display a number in a messagebox, you first have to convert the number to a string. See itoa() or sprintf() or CString::Format (to name a few). Your code now is trying to load a string with the ID of 3 from your string table, but it is unable to find a string with that ID, thus the error.
---
CPUA 0x5041
Sonork 100.11743 Chicken Little
Within you lies the power for good - Use it!
|
|
|
|
|
Yes, this works, i used a CString.
I tried this to solve this problem:
**********************************
//File MyForm.h
public:
CEdit m_editUserName;
**********************************
//File SomethingForm.cpp
#include MyForm.h
void CSomethingForm::OnBnClickedButton1()
{
CMyForm myNew;
myNew.m_editUserName.SetWindowText("ciao");
}
**********************************
Debug Assertion Failed!
file: winocc.cpp
line: 247
Someone suggested that the CMyForm is not yet created, and that I should call
Create() first.
My program features a Window menu for switch between the two Forms, and they are both active when I press the button.
I would like to press the button in the first form and change the windowtext of the edit in the second form.
"Nelle cose del mondo non e' il sapere ma il volere che puo'."
|
|
|
|
|
laphijia wrote:
My program features a Window menu for switch between the two Forms, and they are both active when I press the button.
If they are both active, why are you declaring a new instance of CMyForm in your OnBnClickedButton1() handler? You should instead get a pointer to the existing CMyForm.
You should learn how to use the debugger. When you get an assertion failure, you should be able to doubleclick on the message line in the output window, and visual studio will open the correct file at the line that caused the assertion. The line will read "ASSERT (SomethingOrOther)". Using that clue, you will be able to figure out which variable has an invalid value, and by using the call stack, you can trace backwards in the program until you get to your own code.
---
CPUA 0x5041
Sonork 100.11743 Chicken Little
Within you lies the power for good - Use it!
|
|
|
|