C#ÖÐÓð´Å¥µ÷ÓÃC³ÌÐò - .NET¼¼Êõ / C#
´ó¼ÒºÃ C#ÀïÃæÄܲ»ÄÜÔÚ formÀïÃæ·ÅÖÃÒ»¸öButton £¬È»ºóÓÃÕâ¸öButtonµ÷ÓÃÎÒµçÄÔÀï×Ô¼º±àµÄ1.c³ÌÐòÄØ£¿
ÎÒÕâ¸ö1.c³ÌÐòÊÇʵÏÖÊäÈ뼸¸öÊý Ç󯽾ùÖµµÈһϵͳ¼ÆËã
Äܵϰ¾ßÌå´úÂëÔõÃ´Ð´ÄØ£¿ÏÈллÁË
ÇëÎÊÄãÄÇC³ÌÐòÊǸöÀà¿âÏîÄ¿»¹ÊÇEXEÖ´ÐÐÏîÄ¿ÄØ...
P/Invoke £¬°Ñc³ÌÐò·â×°³ÉDLL£¬¸øC#³ÌÐòµ÷ÓõľÍÐÐ
Ê×ÏȽ«ÄãµÄC³ÌÐò·â×°³ÉDLL(1DLL)£¨±ÈÈçÓиö·½·¨¼ÓGetUserName()£©
Èç¹ûÄãÊÇXPϵͳµÄ»°£¬½«Õâ¸öDLL¿½µ½C:/windowsĿ¼ÏÂ
ÔÚ³ÌʽÖн¨Ò»¸öÀà(UserFunction)£¬
[IIIport("1DLL.dll") at(GetUserName)]
public static string GetUserName();
Ò³Ãæµ÷ÓÃʱÓà UserFunction¡£GetUserName¾ÍºÃÁË
ProcessStartInfo start = new ProcessStartInfo(""); start.Arguments = "";//ÉèÖÃÃüÁî²ÎÊý
Process p=Process.Start(start);
StreamReader reader = p.StandardOutput;
ÎÒÊÇ.CµÄ³ÌÐò µ«±ä³ÉEXEÒ²¿ÉÒ﵀ Ö÷ÒªÊÇÄܵ÷ÓþͺÃÁË C³ÌÐòÔõô±ä³ÉDLLÄØ£¿¿´À´»¹ÓкܶàҪѧ°¡
CÔÚÄÄÄÜ·â×°³ÉDLLÄØ£¿vc++6.0Àï¿ÉÒÔÂ𣿾ßÌåÔõô·â×°ÄØ £¿ÎÒÒÔǰѧ¹âµÄ ¸Õ¸Õ¿ªÊ¼Ñ§CÓïÑÔ ÓÐÀ
Ïà¹ØÎÊ´ð£º
ÇëÎÊVFPÖÐÈçºÎµ÷ÓÃC/C++º¯Êý£¿
ÄãÒªµ÷ÓÃʲô¹¦Äܵĺ¯Êý£¿Òª¿´¿´VFPÖÐÓÐûÓжÔÓ¦µÄº¯Êý£¬Èç¹ûÓоÍÊ¡×ÅÔÙµ÷ÓÃÁË¡£Èç¹ûûÓУ¬¿ÉÒÔ½«C/C++º¯Êýд¸öDLL»òFLL£¬È»ºóÔÚVFPµ÷Óü´¿É¡£
Ê®¶¹Èý ÀÏʦ£¬Ôõô²ÅÄÜÐÞ¸Ä×Ô¼ºµÄ ......
ÈçÌ⣬C/C++ÖеÄexeclÔõôµ÷ÓÃдºÃµÄjava³ÌÐò£¬
execl("/opt/java1.5/bin/java","MyClass",NULL);
ÕâÑùµÄ²»ÐÐŶ¡£
²»»á.
ÔËÐÐjava³ÌÐò
ÕÒ¹¤¾ß²é¿´Ò»ÏÂÄǸö³ÌÐòµÄÃüÁîÐÐ
ËÑË÷Ï£ºjni ......
¹«Ë¾¿ª·¢Ò»¸ö´¥ÃþÆÁ³ÌÐò£¬ÎÒ¸ºÔðµÄÒ»¿é£¬ÊµÏÖÕâÑùÒ»¸ö¹¦ÄÜ£¬µ±Êó±êµã»÷´°¿ÚÖÐͼƬ£¨Ò»ÕÅͼ·Ö³É¼¸²¿·Ö£©µÄÆäÖÐÒ»²¿·Öʱ£¬½«Õⲿ·ÖͼƬ½ØÈ¡³öÀ´£¬µ¯³öеĴ°¿Ú£¬½«½ØÈ¡³öµÄͼƬÏÔʾ³öÀ´¡£ÎÒʹÓÃRectangeÀà¿ØÖÆÁË·µ»Ø£¬ ......
ÔھƵê¹ÜÀíϵͳÖÐ,ÓÐÒ»¸ö¶ÔÄÚµÄϵͳ,¹©Ç°Ì¨·þÎñÔ±ºÍ¾ÀíʹÓÃ
»¹ÓÐÒ»¸ö¾ÍÊǶÔÍâ,Èÿͻ§¿ÉÒÔÔÚÍøÉÏÔ¤¶©·¿¼ä,
ËüÃÇÖ®¼äÊÇÔõôͨѶµÄ.?µ±ÎÒÌá½»Ô¤¶©·¿¼äÐÅÏ¢µÄʱºò,
ÔÚ¶ÔÄÚµÄϵͳÖÐ,ÈçºÎÖªµÀÎÒÒѾÌá½»ÁËÐÅÏ¢¹ýÈ¥.Ê¹Ç ......
ÓÃlistviewÏÔʾ³ö´ÓÊý¾Ý¿âÖвéѯ³öµÄ¼Ç¼£¬ÏëÔÚ×îºó¼Ç¼ºóÃæÌí¼ÓÒ»ÌõºÏ¼ÆÐУ¬ÈçºÎʵÏÖ£¡Ð»Ð»´ó¼Ò£¡
°ó¶¨Êý¾ÝÄãÓ¦¸ÃûÎÊÌâ°É£¬°ó¶¨ÍêÒÔºóÓÃÒ»¸öÑ»·°ÑÄãҪͳ¼ÆÊý¾ÝµÄÁÐÖеÄÊý¾Ý×ܺÍÓÃÒ»¸ö±äÁ¿½ÓÊÜ£¬È»ºóÔÚÑ»·ÍâÃæne ......