|
Hi,
problem is the following:
I have a program sending a ButtonClick Message to another app so that this app opens a modal dialog. To achieve this I use PInvoke and the function SendMessage(hWnd, BM_CLICK, 0, 0) . This code works, but when the Button is clicked and the modal dialog opens, my program (the one, which sent the message) stopps running, means no code after calling SendMessage is executed (can clearly see this in the debugger). When I manually close the opened dialog in the other app my program runs on. I can't explain myself this behaviour because all other programs run on properly. For example I could write another program, which runs the code, which should be executed after SendMessage. This program would run without any problems. Can anyone explain this to me? Any solutions to let my program work on?
Thanks
|
|
|
|
|
The SendMessage function calls the window procedure for the specified window and does not return until the window procedure has processed the message.
To send a message and return immediately, use the SendMessageCallback or SendNotifyMessage function.
www.troschuetz.de
|
|
|
|
|
...or PostMessage or PostThreadMessage
mav
|
|
|
|
|
THX for the completion
and congratulations for beating me by seconds on the other thread
www.troschuetz.de
|
|
|
|
|
Only because my answer was much shorter
|
|
|
|
|
Thanks guys. Don't know why I didn't investigate on that.
|
|
|
|
|
Hi
Is it possible to identify the Cursor postion inside the textbox not the mouse pointer.If so how to access that?? Plz Help
Regards
Deepak.S
|
|
|
|
|
TextBox.SelectionStart might be what you're looking for.
Regards,
mav
|
|
|
|
|
I think you can get this information through evaluation of SelectionStart , SelectionLength and SelectedText properties.
MSDN states that if no text is selected in the control, the SelectionStart property indicates the insertion point for new text i.e. the current cursor position. If otherwise something is selected, the cursor position should be the sum of SelectionStart and SelectionLength .
int cursorPos;
if (textbox.SelectedText == string.Empty)
cursorPos = textbox.SelectionStart;
else
cursorPos = textbox.SelectionStart + textbox.SelectionLength;
P.S: All information bases on research in MSDN topics, so the above code snippet isn't tested and comes without warranty
www.troschuetz.de
|
|
|
|
|
System.Windows.Forms.Form.MousePosition
so from inside the form code :
MousePosition
GanDad
|
|
|
|
|
Hi
That did the job.. but i want to know is it possible to position (move the cursor where i want to move) the cursor inside the textbox thru code.
Regards
Deepak.S
|
|
|
|
|
It's all in the docs:
MSDN topic of SelectionStart states: "You can programmatically move the caret within the text box by setting the SelectionStart to the position within the text box where you want the caret to move to and set the SelectionLength property to a value of zero (0). The text box must have focus in order for the caret to be moved."
www.troschuetz.de
|
|
|
|
|
Hopefully someone can point me in the right direction...
I need either an algorithm or a component that allows a
program i am writing to have "200 credits" eg: 200 uses.
The credits are activated using a unique code (123456 for
example) but once this code has been used it must not work
again. This way the user purchases a new code each 200 uses
to continue using the software.
Is there an existing algorithm that generates these unique
codes? is there a better way that i should know about?
Any help would be great!
Si
|
|
|
|
|
|
Thanks!
I'll take a look into that, hadnt thought of using a Guid.
Si
|
|
|
|
|
> Guid.NewGuid()
I can see how this generates a unique code, thats the first part
of my question sorted.
But lets say i do use a Guid as the code, how is the application
going to know that *i* have generated the Guid and not someone
else?
Si
|
|
|
|
|
A questionable approach is by hiding a fake dll in the system, having that hold the serialized GUID (serialized as binary so it is hard to read) and creating a regkey buried in some place like file associations where GUID keys abound. So:
System32: holds syscplgpi.dll which holds your GUID.
FileAssoc: If the regkey exists reduce counter. If counter is 0 del key.
If key does not exist then you are out of credits.
Obfuscation of the data and where you get it is the key. Systems written to monitor system changes during install, after install, and after first execution will expose all of it, though.
You probably want to have a registration key that is generated from a GUID and then you can email both the registration key as well as the GUID value. This way your code can do a recalc to see if you come up with the same registration key. For an algorithm, just convert the letters in a GUID into numbers and fold that value into a smaller number.
There are 10 kinds of people in the world.
Those that read binary...
...and those who don't.
|
|
|
|
|
Oops -- folding:
Folding is the mathematical art of making a big number small.
If a GUID that is converted to a number ends up being 16 digits long, for example, you can do an algorithm to fold as follows:
Convert.ToString(first 8 digits + last 8 digits).Substring(0,8)
The Substring ensures that if you roll into a 9 digit number you truncate it back into an 8 digit number. While this algorithm is simple, it is not easily recreated by just comparing the result to the GUID.
There are 10 kinds of people in the world.
Those that read binary...
...and those who don't.
|
|
|
|
|
Hello
i went thru search comments and Option to get idea of overriding some Attachfile event of Outlook but no luck..what I want that i get some method/event for attaching file in already opened New Mail Instance of Outlook,is it possible?any particular method for such task?i coudn`t find one yet
Thanks
-adnan
|
|
|
|
|
I need to insert Help(my own) in a C# windows application, which is accessible through a menuitem called Help.
Does any one have a clue on how to do this?
GaMBiT---> aND ReVeNGe WiLL Be
|
|
|
|
|
Hi,
You can use C# Help class or HelpProvider for providing the help. To provide the help we can use the Help class showhelp and helpindex methods.
Regards
SGS
|
|
|
|
|
Thanks....that's really What I needed!
Thanks again!
GaMBiT---> aND ReVeNGe WiLL Be
|
|
|
|
|
Can anyone tell the diffrence btn. Multithreading and APPDOMAIN, as i know Appdomain is "Application domain is a construct in the CLR that is the unit of isolation for an application." and Mutithreading is " the ability of an operating system to concurrently run programs that have been divided into subcomponents, or threads"
So whats the diff. btn. two and which to be used when?
vipsi
|
|
|
|
|
With multithreading two tasks can run at the same time. E.g. one thread waiting for data coming from the internet and the other one doing immediatly processing what has come so far. This concept is also important if you want to do heavy calculation but the GUI should still be responsible (e.g. for cancelling).
Appdomains are something completely different. With them you can have isolated parts in your app which have no direct way to interact. All communication passes a boundary by remoting constructs in .Net. Appdomains are important when you need several security levels in one application, when dynamically loading and unloading assemblies and in many more situations which I cant remember now .
|
|
|
|
|
Thanx, But is it both interlinked ? like in gotdotnet APPDOMAIN FAQ there is a sample code using Threading class!! What i mean is do we have to uses Thread class for Appdomain ? Also if u know any URL for Thread or Appdomain then please give the link.
// C# Sample Code
// File: HelloWorld1.cs
using System;
using System.Threading;
public class HelloWorld
{
public void SayHello(String greeting)
{
Console.WriteLine("In the application domain: " + Thread.GetDomain().FriendlyName);
Console.WriteLine(greeting);
}
public static void Main( String[] argv )
{
HelloWorld o = new HelloWorld();
o.SayHello("Hello World!");
}
}
vipsi
|
|
|
|