|
Hello,
I want to know how I can convert ASCII strings into their Hex Values. For example:
A = 41
K = 4B
I'm programming with Dev-C++ if this is any help.
With best regards,
Benedikt
|
|
|
|
|
use:
char* mystring = "Hello world!";
for (int x = 0; x < strlen(mystring); x++)
{
printf("%x ", mystring[x]);
}
|
|
|
|
|
Thank you !
And how can I convert hex back to ascii ?
With best regards,
RedDragon2kx
|
|
|
|
|
lol its little harded but ok use this:
--------------
BYTE StringHexToByte(LPCSTR HexString)
{
BYTE hi;
BYTE lo;
hi = 0;
lo = 0;
if ((HexString[0] - 0x30)<10)
{
hi = HexString[0] - 0x30;
}
else {
switch (toupper(HexString[0])) {
case 'A':
hi = 0x0a;
break;
case 'B':
hi = 0x0b;
break;
case 'C':
hi = 0x0c;
break;
case 'D':
hi = 0x0d;
break;
case 'E':
hi = 0x0e;
break;
case 'F':
hi = 0x0f;
break;
}
}
if ((HexString[1] - 0x30)<10) {
lo = HexString[1] - 0x30;
}
else {
switch (toupper(HexString[1])) {
case 'A':
lo = 0x0a;
break;
case 'B':
lo = 0x0b;
break;
case 'C':
lo = 0x0c;
break;
case 'D':
lo = 0x0d;
break;
case 'E':
lo = 0x0e;
break;
case 'F':
lo = 0x0f;
break;
}
}
return (hi << 4) | lo;
}
static void StringHexToArray(IN LPCSTR HexString, OUT PBYTE Array)
{
UINT i = 0;
while (i < strlen(HexString))
{
*Array++ = StringHexToByte(&HexString[i]);
i += 3;
}
}
---------------
call as
BYTE* lpData = (PBYTE)malloc(1024);
ZeroMemory(lpData, 1024);
StringHexToArray(SourceString, lpData);
free(lpData);
|
|
|
|
|
Have you tried strtol() to change from one representation to another?
"One must learn from the bite of the fire to leave it alone." - Native American Proverb
|
|
|
|
|
yes but how can I get that value in a variable the one that is printed ??
gabby
|
|
|
|
|
Are you wanting to know how to represent a value in base-16 rather than base-10? For example, the values:
65 (base 10)
41 (base 16)
1000001 (base 2)
are all the same but in a different base. Therefore, the concept of converting from one base to the other does not exist. You can represent a value in a different base, however. Hunter has provided an example of that.
"One must learn from the bite of the fire to leave it alone." - Native American Proverb
|
|
|
|
|
i suddenly have problems when i try share folder on windows XP on ntfs filesystem, because i cannot access share maked with from remote computer. I read that i must set on folder permissions for group to everyone. Soo i read msdn. I make this function: http://hunter.localstudio.info/netshareadd.cpp but that dont work well still it havent perrmisions
|
|
|
|
|
You are trying to create a share on a remote XP machine with an NTFS volume. Correct? Is the share created successfully? On which machine are you unable to access it, the machine running your code or the machine with the newly-created share?
"One must learn from the bite of the fire to leave it alone." - Native American Proverb
|
|
|
|
|
no, im trying create on local machine. Its create success and i cant access from remote computer (on network).. I try open on remote computer and there is "Access Denied"... share created with windows (right click on folder properties and file and folder share) works wihout problems
|
|
|
|
|
What does the call to NetShareAdd() look like?
"One must learn from the bite of the fire to leave it alone." - Native American Proverb
|
|
|
|
|
omg it add success share but i need just change NTFS permissions on folder for everyone... Its windows Its not soo simple as in Linux do you understand? all i need ís set permission on shared folder.. else i cannot access from second pc on network
|
|
|
|
|
Anonymous wrote:
...it add success share...
But what value are you using for the shi2_permissions member of SHARE_INFO_2 ?
"One must learn from the bite of the fire to leave it alone." - Native American Proverb
|
|
|
|
|
Hai....
For the dial-up duration status i am using RAS function to get the statistics of dial-up....similarly i need to get the duration how long the LAN was connected..is there a direct function or do i need to set a timer everytime the adapter is enabled!!!
Thnx
|
|
|
|
|
hi, all
I got access violatin at \MFC\SRC\DLGCORE.CPP At this point
void CDialog::EndDialog(int nResult)
{
ASSERT(::IsWindow(m_hWnd));
if (m_nFlags & (WF_MODALLOOP|WF_CONTINUEMODAL))
EndModalLoop(nResult);
::EndDialog(m_hWnd, nResult);
}
the m_hWnd is 0000000, the nResult is 2. does it sound right? what is nResult=2 means at this point? Thanks
|
|
|
|
|
valerie99 wrote:
what is nResult=2 means at this point?
It means that EndDialog() was called with an argument of 2 (IDCANCEL ).
"One must learn from the bite of the fire to leave it alone." - Native American Proverb
|
|
|
|
|
Hi,
I need to go into a windows application and read/write a ListBox control. Or at least this is what Visual C .Net lists it as, when I load .exe application file (in the dialog directory).
any of the spy programs from this site do not list it as a simple ListBox, but as some proprietary List controls.
I have applied sendmessage function to the handle of this control with all possible combination of messages (that would make sense) and all I get is "0", despite the fact that the list is populated with at least one item most of the time.
Please help. Thanks
|
|
|
|
|
What is it exactly that you are wanting to do to this list control? Are you wanting to add items to, or read items from, an existing control, create a control at runtime, or something completely different?
"One must learn from the bite of the fire to leave it alone." - Native American Proverb
|
|
|
|
|
Hi,
I want to query its values (line by line, or column by column) and eventually to alter them. And in general is there a methodology (a guessing procedure) that one would employ in querying/altering non-standard controls (not only ListBoxes)? Thanks
|
|
|
|
|
Cristian Ionitoiu wrote:
And in general is there a methodology (a guessing procedure) that one would employ in querying/altering non-standard controls (not only ListBoxes)?
Most can use GetWindowText() (WM_GETTEXT ). List boxes use the LB_GETTEXT message.
"One must learn from the bite of the fire to leave it alone." - Native American Proverb
|
|
|
|
|
Hi,
GetWindowText would not work for windows form other applications. For this one has to use SendMessage with the apropriate Message type. See some of the spy programs available on this site. However, if the control is not standard then it will nto answer to standard messages, so one needs another way to "get inside it" and extract the info.
Cristian
|
|
|
|
|
Cristian Ionitoiu wrote:
GetWindowText would not work for windows form other applications.
Sure it would.
Cristian Ionitoiu wrote:
For this one has to use SendMessage with the apropriate Message type.
Just what is it that you think GetWindowText() does? It sends a WM_GETTEXT message to the target window.
Cristian Ionitoiu wrote:
However, if the control is not standard then it will nto answer to standard messages, so one needs another way to "get inside it" and extract the info.
You just answered your own question. Non-standard controls are not guaranteed to respond to standard messages.
"One must learn from the bite of the fire to leave it alone." - Native American Proverb
|
|
|
|
|
I am not loosing my time with this pin-pong of question-answers of no value. If you understood the question from the beginning and know a solution to this reverse-enginering issue then please answer.
The MSDN clearly states that GetText does not work for windows of other threads (and it is tested by me). This is a change in XP. Study it and then make your comments.
If you want a solution to work for all window versions and for all cases you must use SendMessage.
|
|
|
|
|
Cristian Ionitoiu wrote:
I am not loosing my time with this pin-pong of question-answers of no value.
So don't ask generic questions if you don't want a generic answer.
Cristian Ionitoiu wrote:
If you understood the question from the beginning and know a solution to this reverse-enginering issue then please answer.
What is it exactly that you want(ed) reverse-engineered? This is the first you've mentioned such a requirement.
Cristian Ionitoiu wrote:
The MSDN clearly states that GetText does not work for windows of other threads (and it is tested by me).
Don't tell me that you believe everything that is in MSDN. It makes a nice starting point, but it gets proven wrong quite often.
Cristian Ionitoiu wrote:
If you want a solution to work for all window versions and for all cases you must use SendMessage.
I'll say it slowly. While GetWindowText() is a wrapper around SendMessage(WM_GETTEXT) , it only sends the message if the target window belongs to the current process. So, you must use SendMessageTimeout(WM_GETTEXT) instead. The reason for this is it allows applications to call GetWindowText() without hanging if the target window's process is hung. I can't make it any clearer than that.
"One must learn from the bite of the fire to leave it alone." - Native American Proverb
|
|
|
|
|
Hi,
I need to read/write the text of a custom control. I only have the following information: it's ID, it's HWND, it's class name and that's all. It does not answer to messages like WM_GETTEXT, etc. I need a fairly generic procedure to do this, on different type of windows versions.
The id and class name are the constant bits, that do not vary with execution. For example, a FLEXLIST control is listed by Visual C++ (when loading the EXE file and looking into the Dialog resource directory) as a ListBox control, but it does not answer to any LB_ messages.
A possible generic (and very convoluted) solution for reading would be to obtain the bitmap of the control and execute some ocr on it.
Any other ideas?
|
|
|
|