چگونه یک dll را که با C++ نوشته شده است در سی شارپ وارد کنم؟؟؟؟
چگونه یک dll را که با C++ نوشته شده است در سی شارپ وارد کنم؟؟؟؟
سلام
اگر dll مورد نظر com باشد که میتوانید از طریق منوی project>add reference آن را به پروژه اضافه کنید در غیر این صورت باید توابع مورد نظر را تک تک شبیه به کد زیر تعریف کنید:
[System.Runtime.InteropServices.DllImport(@"c:\wind ows\system32\user32.dll")]
static extern void MessageBeep(int message);
چشم ظاهر گر نبیند عیب نیست چشم دل گر ننگرد باید گریست**********اَلسَّلامُ عَلَى الْحُسَيْنِ وَ عَلى عَلِىِّ بْنِ الْحُسَيْنِ وَ عَلى اَوْلادِ الْحُسَيْنِ وَ عَلى اَصْحابِ الْحُسَيْنِ
این attribute به این معنیست که تابعی که تعریف شده یک تابع خارجی بوده که باید از کتابخانه ای که در متود سازنده attribute داده شده (در اینجا user32) فراخوانی شود.
زمانی کاربرد دارد که میخواهیم تابعی از یک unmanaged dll مثل توابع windows api را در برنامه .net استفاده کنیم.
چشم ظاهر گر نبیند عیب نیست چشم دل گر ننگرد باید گریست**********اَلسَّلامُ عَلَى الْحُسَيْنِ وَ عَلى عَلِىِّ بْنِ الْحُسَيْنِ وَ عَلى اَوْلادِ الْحُسَيْنِ وَ عَلى اَصْحابِ الْحُسَيْنِ
سلام
توي رفرنس هات اضافه كن.
...Refrences>>>Add Refrence
یکی کمکم کنه
سلام
این یک نمونه استفاده فراخوانی توابع MessageBoxAو MessageBeep از User32.dll:
//in the name of god
//صل الله علی محمد و آله
using System;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
[System.Runtime.InteropServices.DllImport("user32")]
static extern void MessageBeep(uint m);
[System.Runtime.InteropServices.DllImport("user32")]
static extern int MessageBoxA(IntPtr handle, string text, string title, int type);
public Form1()
{
InitializeComponent();
MessageBoxA(IntPtr.Zero,"hello world","welcome!",0);
MessageBeep(64);
}
}
}
در مورد C++، خروجی com میدهد. باید دید استاندارد windows برای این model به چه صورت است.
اگر اطلاعات بیشتری در مورد نحوه خروجی com در C++ به دست آوردید دریغ نفرمایید.
چشم ظاهر گر نبیند عیب نیست چشم دل گر ننگرد باید گریست**********اَلسَّلامُ عَلَى الْحُسَيْنِ وَ عَلى عَلِىِّ بْنِ الْحُسَيْنِ وَ عَلى اَوْلادِ الْحُسَيْنِ وَ عَلى اَصْحابِ الْحُسَيْنِ
با سلام
مشکلی داشتم چطور میتونم دوتا فایل dll با نام یکسان ولی با نسخه متفاوت رو در رفرنس ادد کنم مثلا دو تا dll مربوط به دو نسخه excel که که نامش یکسان هسنش به هنگام اضافه کردن پیغام خطای کانفلیگ موجود بودن فایل رو میده ...میشه یک نمونه سورس کامل رو قرار بدین ..