|
hi
My aim is to ping a socket....i want this to be done from one side i mean the application which is sending the ping signal(byte)....should not take response from the client.......
i tried with socket.send ...it doesnt ensures that bytes are received at client side or not
then i tried with socket.sendto....same thing
so if any one knows how to do this please let me know............
regards
sindhu tiwari
its me sid
|
|
|
|
|
|
Hello friends,
I am developing an C#.NET application and I want that whenever an exe is running then on the same system that exe could not run simultaneously. when i closed that running exe then it then i will able to run it again...
Means when exe is running then that same exe never run on the same system
|
|
|
|
|
hi write this code in program.cs if the application is already open the if part will execute ....and if not else part is execute...............hope this will solve ur problem..
if (Process.GetProcessesByName(Process.GetCurrentProcess().ProcessName).Length > 1 )
{
MessageBox.Show("The application is already launched...","Error", MessageBoxButtons.OK, MessageBoxIcon.Stop);
return;
}
else
{
// the things in program.cs
}
regards
sindhu tiwari
its me sid
|
|
|
|
|
thank's alot
i look for this too
|
|
|
|
|
|
How is that "more reliable"?
"Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass..." - Dale Earnhardt, 1997 ----- "...the staggering layers of obscenity in your statement make it a work of art on so many levels." - Jason Jystad, 10/26/2001
|
|
|
|
|
If the user renames your executable file, you won't be able to detect it in current processes.
|
|
|
|
|
Giorgi Dalakishvili wrote: If the user renames your executable file
You could always make the executable check if its original name is the same one it is using. If it detects user renamed it, then don't run.
"I guess it's what separates the professionals from the drag and drop, girly wirly, namby pamby, wishy washy, can't code for crap types." - Pete O'Hanlon
|
|
|
|
|
hi
I created a project in c#.net using MySql as database. I created a setup and installed it into another client machine but at the time of installation i need to check whether MySql database exist in the client machine.Is this possible in C#.net? Plz Help Me
Thanks in Advance
Smithakrishnan
|
|
|
|
|
Do you want to detect if MySQL Server is installed?
The code below is straight from Microsoft[^] - I've just altered the name of the service! Adapt it to suit your needs. (You need to add a reference in your project to System.ServiceProcess)
using System;
using System.Collections.Generic;
using System.Text;
using System.ServiceProcess;
namespace ConsoleApplication1
{
class Program
{
static void Main()
{
string myServiceName = "MySQL";
string status;
Console.WriteLine("Service: " + myServiceName);
ServiceController mySC = new ServiceController(myServiceName);
try
{
status = mySC.Status.ToString();
}
catch (Exception ex)
{
Console.WriteLine("Service not found. It is probably not installed. [exception=" + ex.Message + "]");
Console.ReadLine();
return;
}
Console.WriteLine("Service status : " + status);
if (mySC.Status.Equals(ServiceControllerStatus.Stopped) | mySC.Status.Equals(ServiceControllerStatus.StopPending))
{
try
{
Console.WriteLine("Starting the service...");
mySC.Start();
mySC.WaitForStatus(ServiceControllerStatus.Running);
Console.WriteLine("The service is now " + mySC.Status.ToString());
}
catch (Exception ex)
{
Console.WriteLine("Error in starting the service: " + ex.Message);
}
}
Console.WriteLine("Press a key to end the application...");
Console.ReadLine();
return;
}
}
}
|
|
|
|
|
After a little experimentation trying to control a service I found that
myServiceController.Start(); and
myServiceController.Stop(); both fail under Vista because UAC insists it's done with true Administrator privileges. To make them work you need to add an Application Manifest File and alter the level attribute of the requestedExecutionLevel tag to requireAdministrator . When the application is executed, you'll then get the annoying UAC Cancel/Allow dialog.
|
|
|
|
|
Just when you think you've seen everything...
public SearchCriteria() : this(2000, 1) {}
...this is a default constructor for the SearchCriteria object... but what is that stuff after it... I can't find any documentation of this feature because searching for colon operator only gives me articles about inheritance of classes and interfaces. What are the implications of this construct, and what does it do...
There is another constructor that takes two integers. Is this the same as calling that one with 2000 and 1 as default values? If it is, I'm confused as to the purpose of this notation, when you could just as easily initialize those values "normally" or call the other constructor within this one, or something. There must be a reason for this colon thingy?
|
|
|
|
|
Jasmine2501 wrote: Is this the same as calling that one with 2000 and 1 as default values?
Well, not default values but actual values, but, yes.
Jasmine2501 wrote: or call the other constructor within this one
No, you can't call another constructor in the code, that's the purpose of the special syntax.
Experience is the sum of all the mistakes you have done.
|
|
|
|
|
|
It calls the constructor in the current class that has two int parameters and initializes them with the values 2000 and 1. You can fall through these constructors many times as in the following example:
public SearchCriteria() : this(2000, 1) {}
public SearchCriteria(int value, int otherValue) : this(value, otherValue, 20) {}
public SearchCriteria(int value, int otherValue, int finalValue)
{
_value = value;
_otherValue = otherValue;
_finalValue = finalValue;
}
|
|
|
|
|
I should also point out that this is covered in books such as C# Step-by-Step (Microsoft Press). i.e. it is a very basic concept in the language that perhaps you might want to revise.
|
|
|
|
|
I guess in my particular case, it didn't make a lot of sense because, for this particular class, it's the same as:
public SearchCriteria() {
m_year = 2000;
m_month = 1;
}
And in my mind this is much more readable and efficient. If the thing was doing more work with the values, I could understand the use of this construct.
The other constructor looks like:
public SearchCriteria(int yr, int mo) {
m_year = yr;
m_month = mo;
}
I think it's some contractor's idea to getting more hours, making the code harder to read, and hoping that the company will be dependent on him in the future. I'm seeing quite a few things which are obviously that kind of trick, but this one got me interested as to whether there was a good reason for it or not. This particular class is way overblown... it's one of those classes that could have just as easily been a struct, because it doesn't actually do any processing, it's only an object to aggregate some values together and it never actually does anything with those values besides store them.
|
|
|
|
|
There is a rationale for using this construct:
Imagine the SearchCriteria class is modified to include additional initializations:
private string m_whereClause;
public SearchCriteria(int yr, int mo)
{
m_year = yr;
m_month = mo;
m_searchRX = new Regex(....); // precompile search criteria
m_resultCache = null;
}
using SearchCriteria() : this(2000, 1) {} keeps the change and additional code in one place.
Maybe this does not make any sense for the class you are using, but generally I would recommend using the this(...) in such a scenario.
We are a big screwed up dysfunctional psychotic happy family - some more screwed up, others more happy, but everybody's psychotic joint venture definition of CP blog: TDD - the Aha! | Linkify!| FoldWithUs! | sighist
|
|
|
|
|
Yes I agree. It does seem handy in that case, and I'll keep it in mind if that kind of situation ever arises. In this particular case though, it's just weird.
|
|
|
|
|
I have the following code:
public enum LogLevel { Quiet=0, Noise=1, Verbose=2 };
private LogLevel IntToLogLevel(int value, LogLevel defaultValue)
{
LogLevel enumValue = defaultValue;
if (Enum.IsDefined(typeof(LogLevel), value))
{
enumValue = (LogLevel)value;
}
return enumValue;
}
I want to make the IntToLoglevel() function generic enough to use for any enum type. Is what I want to do possible?
"Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass..." - Dale Earnhardt, 1997 ----- "...the staggering layers of obscenity in your statement make it a work of art on so many levels." - Jason Jystad, 10/26/2001
|
|
|
|
|
<font color="Blue">static</font> <font color="Blue">void</font> Main<font color="DarkBlue">(</font><font color="Blue">string</font><font color="DarkBlue">[]</font> args<font color="DarkBlue">)</font>
<font color="DarkBlue">{</font>
LogLevel ll <font color="DarkBlue">=</font> IntToLogLevel<font color="DarkBlue"><</font>LogLevel<font color="DarkBlue">></font><font color="DarkBlue">(</font><font color="Red">2</font><font color="DarkBlue">,</font> LogLevel<font color="DarkBlue">.</font>Noise<font color="DarkBlue">)</font><font color="DarkBlue">;</font>
Console<font color="DarkBlue">.</font>WriteLine<font color="DarkBlue">(</font>ll<font color="DarkBlue">)</font><font color="DarkBlue">;</font>
LogLevel ll2 <font color="DarkBlue">=</font> IntToLogLevel<font color="DarkBlue"><</font>LogLevel<font color="DarkBlue">></font><font color="DarkBlue">(</font><font color="Red">4</font><font color="DarkBlue">,</font> LogLevel<font color="DarkBlue">.</font>Noise<font color="DarkBlue">)</font><font color="DarkBlue">;</font>
Console<font color="DarkBlue">.</font>WriteLine<font color="DarkBlue">(</font>ll2<font color="DarkBlue">)</font><font color="DarkBlue">;</font>
<font color="DarkBlue">}</font>
<font color="Blue">public</font> <font color="Blue">enum</font> <font color="Teal">LogLevel</font> <font color="DarkBlue">{</font> Quiet <font color="DarkBlue">=</font> <font color="Red">0</font><font color="DarkBlue">,</font> Noise <font color="DarkBlue">=</font> <font color="Red">1</font><font color="DarkBlue">,</font> Verbose <font color="DarkBlue">=</font> <font color="Red">2</font> <font color="DarkBlue">}</font><font color="DarkBlue">;</font>
<font color="Blue">static</font> T IntToLogLevel<font color="DarkBlue"><</font>T<font color="DarkBlue">></font><font color="DarkBlue">(</font><font color="Blue">int</font> value<font color="DarkBlue">,</font> T defaultValue<font color="DarkBlue">)</font>
<font color="DarkBlue">{</font>
T enumValue <font color="DarkBlue">=</font> defaultValue<font color="DarkBlue">;</font>
<font color="Blue">if</font> <font color="DarkBlue">(</font>Enum<font color="DarkBlue">.</font>IsDefined<font color="DarkBlue">(</font><font color="Blue">typeof</font><font color="DarkBlue">(</font>T<font color="DarkBlue">)</font><font color="DarkBlue">,</font> value<font color="DarkBlue">)</font><font color="DarkBlue">)</font>
<font color="DarkBlue">{</font>
enumValue <font color="DarkBlue">=</font> <font color="DarkBlue">(</font>T<font color="DarkBlue">)</font><font color="DarkBlue">(</font><font color="Blue">object</font><font color="DarkBlue">)</font>value<font color="DarkBlue">;</font>
<font color="DarkBlue">}</font>
<font color="Blue">return</font> enumValue<font color="DarkBlue">;</font>
<font color="DarkBlue">}</font>
|
|
|
|
|
Brilliant.
"Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass..." - Dale Earnhardt, 1997 ----- "...the staggering layers of obscenity in your statement make it a work of art on so many levels." - Jason Jystad, 10/26/2001
|
|
|
|
|
If you're using .NET 3.5, there's always this way:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace TestEnumExtension
{
public enum LogLevel { Quiet = 0, Noise = 1, Verbose = 2 }
class Program
{
static void Main(string[] args)
{
int outp = 12;
LogLevel level = outp.ConvertEnum(LogLevel.Quiet);
Console.WriteLine(level.ToString());
}
}
public static class Utility
{
public static T ConvertEnum<T>(this int value, T defaultValue)
{
T e = defaultValue;
if (Enum.IsDefined(typeof(T), value))
{
e = (T)(object)value;
}
return e;
}
}
} With thanks to Leppie for providing the basis for this with the answer above.
modified on Friday, February 01, 2008 5:39:53 PM
|
|
|
|
|
Thats just plain evil, for too many reasons
|
|
|
|