اتصال به اینترنت در سی شارپ
سلام
من می خوام درون برنامه ام چند تا شماره از کاربر بگیریم و بتوانم با استفاده از اون ها به اینترنت وصل بشم
تا حالا توانستم که از کانکشن هایی که کاربر در ویندوز ایجاد کرده استفاده کنم و به اینترنت متصل بشم اما نمی توانم از این روش استفاده کنم چون به ازای هر چند تا کانکشن که می خوام باید درون ویندوز کاربر کانکشن درست کنم و از اون ها استفاده کنم که کار معقولی برام به حساب نمیاد در واقع خواست سفارش دهنده این هست که برنامه مستقل از کانکشن های ویندوز باشه و بتونه از شماره هایی که کاربر به هر تعداد می دهد در زمان های مختلف استفاده کنه
در ضمن منظورم کانکشن از نوع dailup است
ممنون میشم کمکم کنید
نقل قول: اتصال به اینترنت در سی شارپ
از RasAPI32 استفاده کنید.
[System.Runtime.InteropServices.DllImport(
"rasapi32.dll", CharSet = System.Runtime.InteropServices.CharSet.Auto)]
public static extern System.UInt32 RasDial(
[System.Runtime.InteropServices.In] RasDialExtensions lpRasDialExtensions,
[System.Runtime.InteropServices.In] System.String lpszPhonebook,
[System.Runtime.InteropServices.In] RasDialParams lpRasDialParams,
System.UInt32 dwNotifierType,
System.Delegate lpvNotifier,
ref System.IntPtr lphRasConn
);
[System.Runtime.InteropServices.StructLayout(
System.Runtime.InteropServices.LayoutKind.Sequenti al,
CharSet = System.Runtime.InteropServices.CharSet.Auto)]
internal class RasDialParams
{
public System.Int32 dwSize =
System.Runtime.InteropServices.Marshal.SizeOf(type of(RasDialParams));
[System.Runtime.InteropServices.MarshalAs(
System.Runtime.InteropServices.UnmanagedType.ByVal TStr,
SizeConst = RAS_MaxEntryName + 1)]
public System.String szEntryName = null;
[System.Runtime.InteropServices.MarshalAs(
System.Runtime.InteropServices.UnmanagedType.ByVal TStr,
SizeConst = RAS_MaxPhoneNumber + 1)]
public System.String szPhoneNumber = null;
[System.Runtime.InteropServices.MarshalAs(
System.Runtime.InteropServices.UnmanagedType.ByVal TStr,
SizeConst = RAS_MaxCallbackNumber + 1)]
public System.String szCallbackNumber = null;
[System.Runtime.InteropServices.MarshalAs(
System.Runtime.InteropServices.UnmanagedType.ByVal TStr,
SizeConst = MaxUser + 1)]
public System.String szUserName = null;
[System.Runtime.InteropServices.MarshalAs(
System.Runtime.InteropServices.UnmanagedType.ByVal TStr,
SizeConst = MaxPassword + 1)]
public System.String szPassword = null;
[System.Runtime.InteropServices.MarshalAs(
System.Runtime.InteropServices.UnmanagedType.ByVal TStr,
SizeConst = MaxDomain + 1)]
public System.String szDomain = null;
public System.Int32 dwSubEntry = 0;
public System.Int32 dwCallbackId = 0;
}
[System.Runtime.InteropServices.StructLayout(
System.Runtime.InteropServices.LayoutKind.Sequenti al)]
internal class RasDialExtensions
{
public readonly System.Int32 dwSize =
System.Runtime.InteropServices.Marshal.SizeOf(type of(RasDialExtensions));
public System.UInt32 dwfOptions = 0;
public System.Int32 hwndParent = 0;
public System.Int32 reserved = 0;
public System.Int32 reserved1 = 0;
public RasEapInfo RasEapInfo = new RasEapInfo();
}
public void Connect()
{
// Define the dial parameters
RasDialParams parms = new RasDialParams();
parms.szDomain = this.Domain;
parms.szUserName = this.UserName;
parms.szPassword = this.Password;
parms.szEntryName = this.PhonebookEntry;
System.UInt32 retVal =
RasDial(null, null, dialParms, 0, null, ref RasConnectionHandle);
}
http://www.eggheadcafe.com/community...plication.aspx
http://social.msdn.microsoft.com/for...c-c3a3efa5ceb6
نقل قول: اتصال به اینترنت در سی شارپ
سلام منم به نوبه خودم تو اين ماه آرزوي قبولي عبادات و طاعت براي دوستاي برنامه نويس دارم منم با گفته هاي دوستمون آقاي ricky22 موافقم و منم از همين روش استفاده كردم اما دوست خوبم من به يه روش ديال كردم كه با استفاده از API هست رو مي زارم البته فقط براي برقراري تماس هست ما بقيشو خودت بايد بدي مثل دادن يوزر و پس به سيروريس DIALUP اميدوارم بدردت بخوره
add Reference Microsoft.TAPI32
TAPI32Lib.RequestMakeCall rmc = new TAPI32Lib.RequestMakeCall ();
rmc.MakeCall("Home","09149.....","0","none");
نقل قول: اتصال به اینترنت در سی شارپ
با سلام
خیلی ممنون از جوابتون
انشاالله عبادات و طاعات شما هم در این ماه مبارک مورد قبول خداوند واقع شود
خدا بخواد امشب ازمایشش می کنم
واقعا ممنون
نقل قول: اتصال به اینترنت در سی شارپ
باز هم سلام
کد اولی که پر از error هست و هر کاری کردم نتونستم error هاش رو رفع کنم
نقل قول:
يه روش ديال كردم كه با استفاده از API هست رو مي زارم البته فقط براي برقراري تماس هست
ممنون از شما دوست عزیز ولی میشه بگید چطور Microsoft.TAPI32 رو می تونم add کنم البته این رو هم بگویم که دارم با vs2005 برنامه رو می نویسم فعلا ؛ نمی دونم ربطی داره یا نه ولی من نتونستم از کد شما استفاده کنم
ممنون میشم اگر امکانش باشه به صورت یک برنامه کوچک کمکم کنید
خسته شدم از بس کدهای مختلف رو امتحان کردم و همچنان سردرگم
نقل قول: اتصال به اینترنت در سی شارپ
سلام
راه اصلیش همونه که ricky22 گفت امایکراهدیگههم هست یکم راحتتر.
شما یک کانکشن بساز مثلا با اسم MyConnection سپس با استفاده از دستور زیر به اون کانکشن متصل شو:
rasdial "MyConnection" Username Password /PHONE phone_number
برای دیسکانکت کردن هم:
rasdial /disconnect
اینایی که گفتم دستورات خود ویندوز است.برای اجرای باید از این کد استفاده کنید:
using System.Diagnostics;
Process myProcess = new Process();
myProcess.StartInfo.UseShellExecute = false;
myProcess.StartInfo.FileName = "rasdial";
myProcess.StartInfo.CreateNoWindow = true;
myProcess.StartInfo.Arguments = "\"MyConnection\" Username Password /PHONE phone_number";
myProcess.Start();
نقل قول: اتصال به اینترنت در سی شارپ
سلام
ممنون ولي اين راه رو قبلا استفاده كردم ولي در حال حاضر دنبال يه راه ديگه هستم كه بتونم خودم مستقيما از داخل برنامه با هر شماره و يوزر و پسوردي كه كاربر بهم مي ده و ممكن هست بيش از 2 تا باشه بتونم با اينترنت ارتباط برقرار كنم
مي دونم كد اولي بهتره ولي همونطور كه گفتم ارور داره و من نتونستم برطرف كنم
اگه اون كد اولي رو كسي در غالب يه برنامه ساده بزاره ممنون ميشم
بازهم ممنون از همه
نقل قول: اتصال به اینترنت در سی شارپ
باز هم سلام
کسي تا به حال چنين کاري نکرده که برنامه اش مستقل از کانکشن هاي کاربر در ويندوز باشه؟؟؟؟؟؟
نقل قول: اتصال به اینترنت در سی شارپ
سلام
نقل قول:
شما یک کانکشن بساز مثلا با اسم MyConnection سپس با استفاده از دستور زیر به اون کانکشن متصل شو:
کد:
rasdial "MyConnection" Username Password /PHONE phone_number
این کد را هم امتحان کردم اما وقتی که پارامتر های username و pass و شماره رو میارم اجرا نمیشه و فقط می تونم اسم کانکشن رو صدا بزنم که خوب اجرا میشه
ولی اگر بشه شماره تلفن و username و pass رو خودمون توی برنامه بدهیم خیلی عالی می شد
در واقع کاری که از اول دنبالش بودم
از کد دوست خوبم flash118 هم که نتونستم استفاده کنم
ممنون میشم یکی کمک کنه
تا حالا وقت زیادی ازم گرفته
نقل قول: اتصال به اینترنت در سی شارپ
نقل قول:
نوشته شده توسط
Saeed.Masoumi
سلام
راه اصلیش همونه که ricky22 گفت امایکراهدیگههم هست یکم راحتتر.
شما یک کانکشن بساز مثلا با اسم MyConnection سپس با استفاده از دستور زیر به اون کانکشن متصل شو:
rasdial "MyConnection" Username Password /PHONE phone_number
برای دیسکانکت کردن هم:
rasdial /disconnect
اینایی که گفتم دستورات خود ویندوز است.برای اجرای باید از این کد استفاده کنید:
using System.Diagnostics;
Process myProcess = new Process();
myProcess.StartInfo.UseShellExecute = false;
myProcess.StartInfo.FileName = "rasdial";
myProcess.StartInfo.CreateNoWindow = true;
myProcess.StartInfo.Arguments = "\"MyConnection\" Username Password /PHONE phone_number";
myProcess.Start();
نمی شود . راهنمایی کنید
نقل قول: اتصال به اینترنت در سی شارپ
کسی نبود توضیح کامل بده ؟
نقل قول: اتصال به اینترنت در سی شارپ
خدایش فقط من قطع و وصل adsl رو مشکل دارم واسه پروژم