نقل قول: برنامه نویسی WinAPI
بعنوان مثال:
using System;
using System.Runtime.InteropServices;
class Example
{
// Use DllImport to import the Win32 MessageBox function.
[DllImport("user32.dll", CharSet = CharSet.Unicode)]
public static extern int MessageBox(IntPtr hWnd, String text, String caption, uint type);
static void Main()
{
// Call the MessageBox function using platform invoke.
MessageBox(new IntPtr(0), "Hello World!", "Hello Dialog", 0);
}
}
نقل قول: برنامه نویسی WinAPI
ممنون از توجه شما.
ولی سوال من اینه که بتونم با سی شارپ یک سری تابع بنویسم که بشه مثل همین تابع MessageBox که شما مثال زدید از برنامه های دیگه فراخوانی ش کرد.
نقل قول: برنامه نویسی WinAPI
خوب اینکه شما میخواهید یک dll ایجاد کنید چه ربطی به winAPI داره؟!!!
باید پروژه ای از نوع Class Library ایجاد کنید و توابعتون را به صورت پابلیک توش تعریف کنید.
نقل قول: برنامه نویسی WinAPI
خب من هم همین کار رو کردم ولی اون نرم افزاری که اول گفتم نمیتونه توابعی که تعریف میکنم رو پیدا کنه.
یه جورایی باید از قالب namespace و اسم کلاس رد بشه که انگار نمی تونه.
توابعش باید فرمت خاصی داشته باشن یا WINAPI باشن یا CDECL.
نقل قول: برنامه نویسی WinAPI
یعنی واقعا با سی شارپ نمیشه مثل سی پلاس پلاس یا دلفی کد نویسی کرد یا هیچ کی نمیدونه؟
پس من چی کار کنم؟
نقل قول: برنامه نویسی WinAPI
شايد توابع روpublic تعريف نكرديد؟
نقل قول: برنامه نویسی WinAPI
میگن باید کد native باشه تا اون نرم افزار بتونه باهاش ارتباط برقرار کنه. یعنی با سی شارپ هم میشه؟