
شاید دیدن این عکس که از ستاره تکشاخ V838 گرفته شده انگیزهای شود برای غیرفایرفاکسیها و هدیهای باشد برای خورههای فایرفاکس! این ستاره 20 هزار سال نوری از ما فاصله دارد.
منبع: CrunchGear
struct LASTINPUTINFO
{
public uint cbSize;
public uint dwTime;
}
[DllImport("User32.dll")]
private static extern bool GetLastInputInfo(ref LASTINPUTINFO plii);
public static uint GetIdleTime()
{
LASTINPUTINFO lastInPut = new LASTINPUTINFO();
lastInPut.cbSize = (uint)System.Runtime.InteropServices.Marshal.SizeOf(lastInPut);
GetLastInputInfo(ref lastInPut);
return ((uint)Environment.TickCount - lastInPut.dwTime);
}
مثالی از نحوه ی استفاده :
private Timer CheckIdleTimer;
private void Form1_Load(object sender, System.EventArgs e)
{
CheckIdleTimer = new Timer();
CheckIdleTimer.Interval = 1000;
CheckIdleTimer.Start();
CheckIdleTimer.Tick += new EventHandler(CheckIdleTimer_Tick);
}
private void CheckIdleTimer_Tick(object sender, System.EventArgs e)
{
this.Text = (GetIdleTime() / 1000).ToString();
}
using System;
using System.Data.SqlClient;
namespace ConnectIPAddressSqlServer
{
class Program
{
static void Main(string[] args)
{
string connectString =
"Network Library=dbmssocn;Network Address=127.0.0.1;" +
"Integrated security=SSPI;Initial Catalog=AdventureWorks";
using (SqlConnection connection = new SqlConnection(connectString))
{
connection.Open( );
// Return some information about the server.
Console.WriteLine(
"ConnectionState = {0}\nDataSource = {1}\nServerVersion = {2}",
connection.State, connection.DataSource,
connection.ServerVersion);
}
Console.WriteLine("\nPress any key to continue.");
Console.ReadKey( );
}
}
}
SQL Server network libraries فایلهای dll هستند که عملیات شبکه مورد نیاز برای کلاینتها را انجام می دهند.
پروتکلها شبکه موجود برای Sql Server
• Shared Memory
• TCP/IP
استفاده از پروتکل TCP/IP برای ارتباط
• Named Pipes
SqlServer مکانیسم IPC را برای ارتباط بین کلاینت و سرور فراهم می کند.
• VIA
پروتکل Virtual Interface Adapter که توسط سخت افزارهای VIA مورد استفاده قرار می گیرد. از SqlSever2005 به بعد دیگراین پروتکل پشتیبانی نمی شود.
• AppleTalk ADSP
• Banyan VINES
• Multiprotocol
به صورت اتوماتیک از بین پروتکل های موجود یکی را انتخاب می کند که از لحاظ کارایی همانند استفاده از native network library می باشد.که از پروتکلهای TCP/IP Sockets, NWLink IPX/SPX, Named Pipes پشتیبانی می کند
• NWLink IPX/SPX
پروتکل شبکه های ناول
برای اطلاعات بیشتر در مورد پیکربندی پروتکلهای شبکه به Microsoft SQL Server Books Online مراجعه کنید
استفاده از سوکتهای TCP/IP برای SQL Server عملکرد و مقیاس پذیری برنامه را بهبود می بخشد(در زمانی که با حجم بالایی از داده سرو کار داریم).این مکانیسم از بعضی از مسائل امنیتی مربوط به named pipes اجتناب می ورزد.
در صورت استفاده از هر پروتکلی , کلاینت و سرور با ید برای استفاده از TCP/IP پیکر بندی شوند.
SQL Server Configuration Manager/SQL Server Network Configuration/enabling TCP/IP in the Protocols subnode.
توجه کنید که Instanse پیش فرض SqlServer از پورت 1433 استفاده می کند.در صورتی که شما آنرا برای پورت دیگری پیکربندی کرده باشید Connection String را به صورت زیر تغییر دهید
Network Address=(local),1450
پيشاپيش از دوست عزيزم "پسر پائيزي" هم قدرداني و تشكر ميكنم
protected override bool ProcessDialogKey(Keys keyData)
{
if (keyData == == '\r')
{
SendKeys.Send("{TAB}");
e.Handled = true;
}
return base.ProcessDialogKey(keyData);
}
MessageBox.Show(AppDomain.CurrentDomain.BaseDirectory);
// or
MessageBox.Show(System.IO.Directory.GetCurrentDirectory());
// or
MessageBox.Show(Application.StartupPath);
// or
MessageBox.Show(System.IO.Path.GetDirectoryName(Application.ExecutablePath));
using System.Net.NetworkInformation;
private void button2_Click(object sender, EventArgs e)
{
string remoteMachineNameOrIP = "127.0.0.1";
int timeOut = 5;
Ping ping = new
// Pinging remote maching
PingReply reply = ping.Send(remoteMachineNameOrIP, timeOut);
// Displaying the result
StringBuilder sb = new StringBuilder();
sb.Append("Address:" + reply.Address.ToString());
sb.Append("\nStatus:" + reply.Status.ToString());
sb.Append("\nRoundtripTime:" + reply.RoundtripTime.ToString());
MessageBox.Show(sb.ToString(), "Ping Result: " + remoteMachineNameOrIP);
}
using System.Diagnostics;
foreach (Process p in Process.GetProcesses())
{
if (p.ProcessName.ToLower() == "notepad")
p.Kill(); //Close notepad
}