|
Richard Andrew x64 wrote: Open Task Manager, find the process that represents your service and check what user account it is running under. Hi Richard,
My service is running under the name SYSTEM .
(The logon session user account is "user ".)
Maxwell Chen
|
|
|
|
|
Nops if He open command prompt as "run as admin" mode and run application than it means that its application is also run as admin mode.
I believe in LOVE AT FIRST SIGHT...
Bcoz I have loved my Mother...
even since I opened my eyes...(ICAN)
|
|
|
|
|
#include <windows.h>
#include <iostream>
using namespace std;
struct Detail{
wchar_t Name[25];
long Age;
wchar_t Address[100];
};
struct Student{
Detail st;
DWORD code;
};
int main()
{
Student st;
}
how to write and read structure to a file using WriteFile() and ReadFile().
Some Day I Will Prove MySelf :: GOLD
modified on Saturday, February 19, 2011 9:43 AM
|
|
|
|
|
Something like
DWORD dwWritten;
BOOL result = WriteFile(hFile, &st, sizeof st, &dwWritten, NULL);
Use a similar form to read it back.
I must get a clever new signature for 2011.
|
|
|
|
|
#include <windows.h>
#include <conio.h>
#include <iostream>
using namespace std;
struct Detail{
wchar_t Name[25];
long Age;
wchar_t Address[100];
};
struct Student{
Detail detail;
DWORD code;
};
int main()
{
DWORD BytesWritten=0, BytesRead=0;
Student st,read;
st.code =1;
st.detail.Name = TEXT("Williams");
st.detail.Age = 25;
st.detail.Address = TEXT("B-33 Lane 5");
HANDLE hFile = CreateFile(TEXT("C:\\demo.txt"),GENERIC_READ | GENERIC_WRITE,0,0,OPEN_ALWAYS,FILE_ATTRIBUTE_NORMAL,0);
if (hFile != INVALID_HANDLE_VALUE)
{
WriteFile(hFile,&st,sizeof(Student),&BytesWritten,0);
ReadFile(hFile,&read,sizeof(Student),&BytesRead,0);
CloseHandle(hFile);
cout<<read.code<<endl;
cout<<read.detail.Name;
}
else
{
cout<<"Error! Cannot Open File";
exit(1);
}
_getche();
return (0);
}
when executing this code following error occurs.
Error 1 error C2440: '=' : cannot convert from 'const wchar_t [9]' to 'wchar_t [25]'
Error 2 error C2440: '=' : cannot convert from 'const wchar_t [12]' to 'wchar_t [100]'
Some Day I Will Prove MySelf :: GOLD
|
|
|
|
|
goldenrose9 wrote: st.detail.Name = TEXT("Williams");
st.detail.Address = TEXT("B-33 Lane 5");
You probably meant to use _tcscpy() here instead.
"One man's wage rise is another man's price increase." - Harold Wilson
"Fireproof doesn't mean the fire will never come. It means when the fire comes that you will be able to withstand it." - Michael Simmons
"Man who follows car will be exhausted." - Confucius
|
|
|
|
|
DavidCrow wrote: You probably meant to use _tcscpy() here instead.
This works like a charm
_tcscpy(st.detail.Name,TEXT("Williams"));
_tcscpy(st.detail.Address,TEXT("B-33 Lane 5"));
But another problem arises cannot set values in long and DWORD variables
struct Detail{
wchar_t Name[25];
long Age;
wchar_t Address[100];
};
struct Student{
Detail detail;
DWORD code;
};
Student st;
st.code = 1;
but st.code stores a default value of -16843010 and same problem with long data type st.Details.Age = 25 stores 65278, instead of 25.
MODIFIED:
_tcscpy_s() now works. i was making a small mistake. Now it works..
_tcscpy_s(st.detail.Name,_tcslen(st.detail.Name),TEXT("WILLIAMS"));
Some Day I Will Prove MySelf :: GOLD
modified on Wednesday, February 16, 2011 10:43 PM
|
|
|
|
|
goldenrose9 wrote: why error is occurring in _tcscpy_s()
Hard to say since you did not indicate what the error was.
"One man's wage rise is another man's price increase." - Harold Wilson
"Fireproof doesn't mean the fire will never come. It means when the fire comes that you will be able to withstand it." - Michael Simmons
"Man who follows car will be exhausted." - Confucius
|
|
|
|
|
Try ZeroMemory
Student st,read;
ZeroMemory(&st,sizeof(st));
I believe in LOVE AT FIRST SIGHT...
Bcoz I have loved my Mother...
even since I opened my eyes...(ICAN)
|
|
|
|
|
To OP: This is only meaningful if you don't intend to initialize every member separately.
|
|
|
|
|
goldenrose9 wrote: i was making a small mistake.
And you still are. _tcslen() does not tell you the size/capacity of Name , but rather how many characters it is currently holding.
"One man's wage rise is another man's price increase." - Harold Wilson
"Fireproof doesn't mean the fire will never come. It means when the fire comes that you will be able to withstand it." - Michael Simmons
"Man who follows car will be exhausted." - Confucius
|
|
|
|
|
yes you are right. but when i use
_tcscpy_s(st.detail.Name,sizeof(st.detail.Name),TEXT("WILLIAMS"));
stack around st get corrupted.
moreover when i initialize st with
st.code =1;
st.detail.Age = 25;
then the value is changed to
st.code = 4278124286
st.detail.Age = -16843010
i had intialized the st as given
st.code =1;
st.detail.Age = 25;
_tcscpy_s(st.detail.Name,sizeof(st.detail.Name),TEXT("WILLIAMS"));
_tcscpy_s(st.detail.Address,sizeof(st.detail.Address),TEXT("BB-33 LANE 5"));
Some Day I Will Prove MySelf :: GOLD
|
|
|
|
|
Have you considered:
st.code = 1;
st.st.Age = 25;
_tcscpy_s(st.st.Name, sizeof(st.st.Name), TEXT("WILLIAMS"));
_tcscpy_s(st.st.Address, sizeof(st.st.Address), TEXT("BB-33 LANE 5"));
For clarities sake, you might consider renaming the st member of Student .
"One man's wage rise is another man's price increase." - Harold Wilson
"Fireproof doesn't mean the fire will never come. It means when the fire comes that you will be able to withstand it." - Michael Simmons
"Man who follows car will be exhausted." - Confucius
|
|
|
|
|
whenever st.code and st.st.Age is initialized with any value the result is,
st.code = 4278124286
st.detail.Age = -16843010
Some Day I Will Prove MySelf :: GOLD
|
|
|
|
|
You need to look more closely at the code snippet I provided. You should not be assigning or referencing st.Detail . In your Student structure, Detail is a type of structure, not an instance of one.
"One man's wage rise is another man's price increase." - Harold Wilson
"Fireproof doesn't mean the fire will never come. It means when the fire comes that you will be able to withstand it." - Michael Simmons
"Man who follows car will be exhausted." - Confucius
|
|
|
|
|
please give a small example.
Some Day I Will Prove MySelf :: GOLD
|
|
|
|
|
See here.
"One man's wage rise is another man's price increase." - Harold Wilson
"Fireproof doesn't mean the fire will never come. It means when the fire comes that you will be able to withstand it." - Michael Simmons
"Man who follows car will be exhausted." - Confucius
|
|
|
|
|
on using
st.code = 1;
st.st.Age = 25;
_tcscpy_s(st.st.Name, sizeof(st.st.Name), TEXT("WILLIAMS"));
_tcscpy_s(st.st.Address, sizeof(st.st.Address), TEXT("BB-33 LANE 5"));
following error occurs.
Error 1 error C2039: 'st' : is not a member of 'Student'
Error 2 error C2228: left of '.Age' must have class/struct/union
Some Day I Will Prove MySelf :: GOLD
|
|
|
|
|
I just compiled your code with my changes. It compiled and ran fine.
"One man's wage rise is another man's price increase." - Harold Wilson
"Fireproof doesn't mean the fire will never come. It means when the fire comes that you will be able to withstand it." - Michael Simmons
"Man who follows car will be exhausted." - Confucius
|
|
|
|
|
please give a sample so that i can understand my mistake.
Some Day I Will Prove MySelf :: GOLD
|
|
|
|
|
Hi,goldenrose9 wrote: when executing this code following error occurs. When compiling is not when executing.
1 You do not correctly initialize your st structure, change to:
Student
st = {{TEXT("Williams"), 25, TEXT("B-33 Lane 5")}, 1 },
read = {0};
2 Your code will then compile but not to your expected result, you must set the file pointer to FILE_BEGIN before reading:
WriteFile(hFile,&st,sizeof(Student),&BytesWritten,0);
SetFilePointer(hFile, 0, 0, FILE_BEGIN);
ReadFile(hFile,&read,sizeof(Student),&BytesRead,0);
cheers,
AR
When the wise (person) points at the moon the fool looks at the finger (Chinese proverb)
|
|
|
|
|
st.detail.Name = TEXT("Williams");
You cannot copy characters in this way, you must use one of the copy methods.
I must get a clever new signature for 2011.
|
|
|
|
|
Student st;
WriteFile(file,&st,sizeof(st),&written,0);
open file using Createfile API,
or you can use fopen("file","wb"); and fwrite C run time APIS.
is it so complicated?
If u can Dream... U can do it
|
|
|
|
|
jk chan wrote: you can use fopen("file","wb"); and fwrite C run time APIS.
is it so complicated?
i know how to read and write using fread and fwrite. But i want my program to use WriteFile() and ReadFile()
Some Day I Will Prove MySelf :: GOLD
|
|
|
|
|
Hi there.
I am currently using a worker thread that communicates to the main thread using a call to sendmessage everything works great but now i need to return a string from that sendmessage handler to my worker thread. How can i return data from there, is it possible?
Thanks
|
|
|
|