|
|
Hello.
Im using smspdulib to decode PDU strings from my cell phone.
http://www.codeproject.com/KB/cs/smspdulib.aspx[^]
That works fine,but if a pdu string is longer(i guess longer than 160 chars) it doesnt work anymore.
Can this be done with smspdulib or some other way?
|
|
|
|
|
After this[^] it is with some trepidation that I ask my question
I need the advice of a guru. I have an exe and an assembly dll. The exe references the assembly and the assembly does not reference the exe. I want to keep that separation. What I want to do is that when a certain event happens in the assembly DLL I want something to happen in a form in the exe. I *could* reference the form in the dll but I don't think that is a "right" way to do it. I think that there is some other construct that would allow me to raise an event in the exe without binding the two together. My best guess at the moment is to create delegates.... somehow.
Anyone have a gentle nudge that will push me in the proper direction?
TIA
Why is common sense not common?
Never argue with an idiot. They will drag you down to their level where they are an expert.
Sometimes it takes a lot of work to be lazy
Individuality is fine, as long as we do it together - F. Burns
modified on Saturday, January 05, 2008 12:14:43 AM
|
|
|
|
|
Well - I'm a little confused. First you say:
Wes Aday wrote: when a certain event happens in the assembly DLL I want something to happen in a form in the exe.
and then you say
Wes Aday wrote: that would allow me to raise an event in the exe
So where is the event coming from? You see my confusion.
That's the key question to answer before we can be of any help...
It has become appallingly obvious that our technology has exceeded our humanity. - Albert Einstein
|
|
|
|
|
Patrick Sears wrote: So where is the event coming from
Sorry for the confusion.
Say that the dll is reading a database and then I want to notify the exe that the read is complete and the form should refresh the data it is displaying. (I know that I could bind a control to a datasource but just for the sake of arguement). Or, even the dll is monitoring a folder for new files or something.
I mean does it really matter what triggers the event? And, note that I am not looking for code. I want to figure the actual mechanics out but just need a hint of what I really should be doing in this circumstance.
In VC++ I could post a message to the exe and have an event handler to handle the message, for example. I just don't want the dll to be dependent on anything in the exe.
Thanks for responding
Why is common sense not common?
Never argue with an idiot. They will drag you down to their level where they are an expert.
Sometimes it takes a lot of work to be lazy
Individuality is fine, as long as we do it together - F. Burns
|
|
|
|
|
Ok, this is simple enough. You need to decide what class in your DLL that you want to raise the event. Keep in mind that this can be a static class, with a static event.
Define the event in the DLL, and what in the DLL will raise it. In the exe, you simply attach an event handler to that event on that class.
Think of the exe as a 'consumer' of the DLL. The DLL has no idea who or what is consuming it.. it only knows that when you tell it to, it raises the event you specify.
It should be that simple.. or am I missing something?
It has become appallingly obvious that our technology has exceeded our humanity. - Albert Einstein
|
|
|
|
|
Patrick Sears wrote: It should be that simple
Yes you have the gist of it.
Patrick Sears wrote: The DLL has no idea who or what is consuming it
That is a good way to put it. I should have said that to begin with
Patrick Sears wrote: Define the event in the DLL, and what in the DLL will raise it. In the exe, you simply attach an event handler to that event on that class
Thanks! I just wanted some validation to the assumption that events are a semi-decent way to go. I guess I am off to study up on C# event routing.
Why is common sense not common?
Never argue with an idiot. They will drag you down to their level where they are an expert.
Sometimes it takes a lot of work to be lazy
Individuality is fine, as long as we do it together - F. Burns
|
|
|
|
|
Patrick Sears wrote: simple
OMG. I apologize for wasting your time. If I had only known that it was as seemingly simple as what I think it is....
Why is common sense not common?
Never argue with an idiot. They will drag you down to their level where they are an expert.
Sometimes it takes a lot of work to be lazy
Individuality is fine, as long as we do it together - F. Burns
|
|
|
|
|
Wes Aday wrote: OMG. I apologize for wasting your time. If I had only known that it was as seemingly simple as what I think it is....
I wouldn't call it a waste We all learn things every day, lots of them seemingly so simple we should have known it in the first place...
I regularly discover that the way I did something was so lame brained and over complicated that I want to kick myself. I've rather learned to spend time thinking about the absolute simplest way to do things before writing any code..
It has become appallingly obvious that our technology has exceeded our humanity. - Albert Einstein
|
|
|
|
|
Hay y'all,
I want to use a specific font in my app. how would I add to my resources and reference from there?
Any help much appreciated.
Mike
|
|
|
|
|
Yeah, VS2005 supplies the ability to factor public fields one at a time, but is there a way to select ALL the fields you want to refactor and create properties for them all at once?
I've got a few classes I need to do this for, each with a not-insignificant number of properties, and I'm not looking forward to the 1-2 hours of mindless tasks.
Help is appreciated!
It has become appallingly obvious that our technology has exceeded our humanity. - Albert Einstein
|
|
|
|
|
Someone.. voted me.. a 2. Ooo... k...
It has become appallingly obvious that our technology has exceeded our humanity. - Albert Einstein
|
|
|
|
|
Hi:
I would like to get a text of a button of another application that is running. If the text on the button is of some value, say "start", I would like to click it, so that it changes to "stop".
I am able to get the process title of the application, but I would like to reference the objects (buttons, text/list box) on the form. The application in question was written in VB, but I would like to use C#. Note I do not know the names of these objects (button, textbox, etc).
The main problem is that this application has to stay logged into. If the application is started, the "button" must still be pressed to get the application going.
Your immediate response (sample code) to this request would be greatly appreciated. Response in C++ is fine too, but my preference is C#
I'm using .NET 2.0
Thanks.
Gbenga
|
|
|
|
|
C# can't do it without interop, so that it calls C++ APIs. Getting the text is easy, I guess you'd use a SendMessage to click the button.
Christian Graus - Microsoft MVP - C++
"also I don't think "TranslateOneToTwoBillion OneHundredAndFortySevenMillion FourHundredAndEightyThreeThousand SixHundredAndFortySeven()" is a very good choice for a function name" - SpacixOne ( offering help to someone who really needed it ) ( spaces added for the benefit of people running at < 1280x1024 )
|
|
|
|
|
I can get the Title text, but how do I get the text of the button? Can you send a sample code? Thanks.
|
|
|
|
|
Do you have a sample code on how to get the text from the button? I sent my code earlier to Muammar in the same thread. Thanks.
|
|
|
|
|
Did you try Managed Spy++[^]
Smile: A curve that can set a lot of things straight!
(\ /)
(O.o)
(><)
|
|
|
|
|
No. I have never used it before. Can you provide me with information on how to proceed with Managed Spy++ or provide me with a link to any documention on it?
Thanks.
Gbenga
|
|
|
|
|
|
|
Hi:
Meanwhile, do you have a sample code (without using ManagedSpy)? I would like to get the text of the button of the application that is running programmatically.
I downloaded ManageSpy and installed it accordingly. Recompile the code in VS 2005 and ran it. I was able to see the name of a running application objects (buttons, etc, and their properties).
Thanks.
Gbenga
|
|
|
|
|
Hi again:
Here is the piece of code that I am trying to use for this. This code will get the processes' names and their titles with their corresponding id. I'd like to get to the text of a button of a particular process. I don't even need to click it, I only need the value of the text, so that I can execute some message to be sent to someone or write an entry to the Windows event log (which I can do).
/***** Code starts here *****/
using System;
using System.Collections.Generic;
using System.Text;
using System.Diagnostics;
namespace ProcessTitle
{
class Program
{
static void Main(string[] args)
{
StringBuilder sb = new StringBuilder();
foreach (Process p in Process.GetProcesses()) //local machine
{
try
{
//try to get a handle on the Windows - Not doing anything with this. I'd like
//to use this to get the text of my button
IntPtr hWnd =
System.Diagnostics.Process.GetProcessById(p.Id).MainWindowHandle;
sb.Append("Windows Title: " + p.MainWindowTitle + Environment.NewLine);
sb.Append("Process Name: " + p.ProcessName + Environment.NewLine);
sb.Append("PID: " + p.Id.ToString() + Environment.NewLine);
}
catch
{
}
}
Console.Write(sb);
Console.Read();
}
}
}
/***** Code ends here ***/
Gbenga
|
|
|
|
|
I'm sorry but it seems like you'll have to use the Spy package.
Smile: A curve that can set a lot of things straight!
(\ /)
(O.o)
(><)
|
|
|
|
|
Hi,
I'm trying to implement a drag'n drop from a multiselect listView to a tree. The code is as follows:
private void listView1_ItemDrag(object sender, System.Windows.Forms.ItemDragEventArgs e)
{
listView1.DoDragDrop(listView1.SelectedItems, DragDropEffects.Copy);
}
private void treeView1_DragEnter(object sender, System.Windows.Forms.DragEventArgs e)
{
if (e.Data.GetDataPresent(typeof(ListView.SelectedListViewItemCollection)))
e.Effect = DragDropEffects.Copy;
}
private void treeView1_DragDrop(object sender, System.Windows.Forms.DragEventArgs e)
{
//do something here
}
Everything is fine, except that a lot of times the list thinks I'm trying to select items instead of initiating a drag'n drop. Is there a listView setting I'm missing somehow?
thanx
|
|
|
|
|
kozu wrote: except that a lot of times the list thinks I'm trying to select items instead of initiating a drag'n drop
By any chance are you using "Full Row Select" mode?
I've learned that often triggers that behavior. What I did was that when I initiate Drag Drop on the ListView, I turn off FullRowSelect.
This has the added benefit of allowing the user to select multiple items and then DE-select them by clicking a non-highlighted area (with full row select, that can be hard to do if there is no non-highlighted space). When the drag operation ends, or they de-select the items, I turn it back on.
It has become appallingly obvious that our technology has exceeded our humanity. - Albert Einstein
|
|
|
|