PDA

View Full Version : سوال: مطلع شدن از اتصال WiFi و بلوتوث



farshad_shams
سه شنبه 26 فروردین 1393, 12:21 عصر
سلام دوستان

میخوام برنامه ای بنویسم که وقتی بلوتوث یا وای فای به سیستم متصل میشه با خبر شم و اگه لازم شد غیرفعالشون کنم.

ممنون میشم اگه راهنمایی کنید

Mask
سه شنبه 26 فروردین 1393, 19:25 عصر
ببینید دوست عزیز برای هر دوی این موضوعات کامپوننت مخصوص به خودش موجود هست.
میتونید بگیرید و روش کار کنید و نتیجش رو هم در این پست بزارید . اغلب این موضوعات تخصصی، تا برنامه نویس در پروژه ای درگیرش نشه ، وقتشو صرف یادگیری و کار باهاش نمیزاره.
شما شروع کننده باش.
برای بلوتوث کامپوننت nrComm (http://www.deepsoftware.ru/nrcomm/) و یا
Bluetooth Framework VCL (http://www.btframework.com/)
و برای WIFI کامپوننت WiFiManager (http://www.nicomsoft.com/products/wifi-manager/)
البته Wireless Communication Library (http://www.btframework.com/) برای هر دو کاربرد داره.

farshad_shams
چهارشنبه 27 فروردین 1393, 11:33 صبح
و برای WIFI کامپوننت WiFiManager
البته Wireless Communication Library برای هر دو کاربرد داره.

خیلی ممنون از راهنماییت Gold عزیز
از Wireless Communication Library برای wifi استفاده کردم خیلی کامپوننت خوبیه



procedure TForm1.FormCreate(Sender: TObject);
begin
wclAPI.Load;
end;

procedure TForm1.FormShow(Sender: TObject);
begin
wclWiFiManager.Open;
end;

procedure TForm1.BtnDisconnectClick(Sender: TObject);
var
Res: Integer;
Reason: Cardinal;
Iface: TwclWiFiInterface;
Ifaces: TwclWiFiInterfaces;
Str: WideString;
begin
Ifaces := TwclWiFiInterfaces.Create;
Iface := TwclWiFiInterface.Create;
Res := wclWiFiManager.EnumInterfaces(Ifaces, Reason);
Iface.Guid := Ifaces[0].Guid;
Res := Iface.Disconnect(Reason);
if Res <> WCL_E_SUCCESS then
if Res = WCL_E_INTERNAL then
Str := wclWiFiManager.StringFromReason(Reason)
else
Str := wclGetErrorMessage(Res)
else
Str := 'Success';
ShowMessage(Str);
Iface.Free;
end;

procedure TForm1.wclWiFiManagerConnected(Sender: TObject; Guid: TGUID; Reason: Cardinal);
begin
if Reason <> WCL_E_SUCCESS then
ShowMessage('Connected: ' + GUIDToString(Guid) + ', Reason: ' + wclWiFiManager.StringFromReason(Reason))
else
ShowMessage('Connected.');
end;

procedure TForm1.wclWiFiManagerDisconnected(Sender: TObject; Guid: TGUID; Reason: Cardinal);
begin
if Reason <> WCL_E_SUCCESS then
ShowMessage('Disconnected: ' + GUIDToString(Guid) + ', Reason: ' + wclWiFiManager.StringFromReason(Reason))
else
ShowMessage('Disconnected.');
end;


بلوتوثم چند روزه دیگه روش کار می کنم و نتیجش رو هم همین جا میذارم