[C#] Hướng dẫn chia sẽ file, folder từ ứng dụng sang Zalo Chat

[C#] Hướng dẫn chia sẽ file, folder từ ứng dụng sang Zalo Chat
Đăng bởi: Thảo meo - Lượt xem: 607 10:57:59, 12/12/2020C#   In bài viết

Xin chào các bạn trẻ, bài viết hôm nay mình sẻ hướng dẫn các bạn cách chia sẻ file từ ứng dụng Winform sang Zalo APP Chat C#.

[C#] SHARE FILE, FOLDER TO ZALO APP

Trong lập trình ứng dụng, nhiều lúc các bạn xuất dữ liệu ra file Excel, hay PDF và các bạn muốn sau khi xuất file này ra, thì mình sẽ gởi báo cáo này cho bạn bè, sếp...

Hình ảnh Demo Ứng dụng Share File, Folder Zalo C#:

share_file_zalo_app

Sau khi chọn File và bấm nút Share ta được kết quả như hình bên dưới.

share_file_zalo

Sau đó, chúng ta chọn list người muốn chia sẻ và bấm chia sẻ file là xong.

Video demo share File Zalo C#:

Để chia sẽ File hoặc Folder bạn bạn xem dòng lệnh sau:

C:\Users\NGUYENTHAO\AppData\Local\Programs\Zalo\sl.exe "%1" "C:\Users\NGUYENTHAO\AppData\Local\Programs\Zalo\Zalo.exe"
$files --si-timeout 1000

Trong đó với $files là đường dẫn File hoặc Folder mà các bạn muốn chia sẽ cho bạn bè hay ai đó.

Và thực hiện, các bạn chỉ cần viết app, và gọi lệnh CMD.exe và thực hiện đoạn lệnh trên là xong.

Full source code share File With Zalo c#:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace ShareFileWithZalo
{
    public partial class Form1 : Form
    {
        public string URI;
        public Form1()
        {
            InitializeComponent();
            URI = @"E:\soft";
        }

        private void Form1_Load(object sender, EventArgs e)
        {          
            NativeMethods.SHFILEINFO shfi = new NativeMethods.SHFILEINFO();
            IntPtr hSysImgList = NativeMethods.SHGetFileInfo("",
                                                             0,
                                                             ref shfi,
                                                             (uint)Marshal.SizeOf(shfi),
                                                             NativeMethods.SHGFI_SYSICONINDEX
                                                              | NativeMethods.SHGFI_SMALLICON);
            Debug.Assert(hSysImgList != IntPtr.Zero);
            IntPtr hOldImgList = NativeMethods.SendMessage(listView1.Handle,
                                                           NativeMethods.LVM_SETIMAGELIST,
                                                           NativeMethods.LVSIL_SMALL,
                                                           hSysImgList);
            if (hOldImgList != IntPtr.Zero)
            {
                NativeMethods.ImageList_Destroy(hOldImgList);
            }

            listView1.View = View.Details;
            listView1.Columns.Add("Name", 500);
            NativeMethods.SetWindowTheme(listView1.Handle, "Explorer", null);
            string[] s = Directory.GetFileSystemEntries(URI);
            foreach (string file in s)
            {
                IntPtr himl = NativeMethods.SHGetFileInfo(file,
                                                          0,
                                                          ref shfi,
                                                          (uint)Marshal.SizeOf(shfi),
                                                          NativeMethods.SHGFI_DISPLAYNAME
                                                            | NativeMethods.SHGFI_SYSICONINDEX
                                                            | NativeMethods.SHGFI_SMALLICON);
                Debug.Assert(himl == hSysImgList);
                listView1.Items.Add(shfi.szDisplayName, shfi.iIcon);
            }
        }

        private void listView1_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (listView1.SelectedItems.Count > 0)
            {
                var item = listView1.SelectedItems[0];
                txt_file.Text = URI + "\\" + item.Text;
            }
        }

        private void btnShare_Click(object sender, EventArgs e)
        {
         
            if (!string.IsNullOrEmpty(txt_file.Text))
            {
                string FILE_SHARE = "\"" + txt_file.Text + "\"";
                var PATH_SPECIAL_PROGRAMS = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData, Environment.SpecialFolderOption.None) + @"\Programs";
                string AGRUMENTS = $@"{PATH_SPECIAL_PROGRAMS}\Zalo\sl.exe "" % 1"" ""{PATH_SPECIAL_PROGRAMS}\Zalo\Zalo.exe"" {FILE_SHARE} --si-timeout 1000";

                Process process = new Process();
                ProcessStartInfo startInfo = new ProcessStartInfo();
                startInfo.WindowStyle = ProcessWindowStyle.Hidden;
                startInfo.FileName = "cmd.exe";
                startInfo.Arguments = $"/C {AGRUMENTS}";
                process.StartInfo = startInfo;
                process.Start();
            }
            else
            {
                MessageBox.Show("Không có gì để share hết, bạn ơi!");
            }
           
        }
    }
}

Thanks for watching!

DOWNLOAD SOURCE

Tags: share file zalo c#share folder zalo c#

THÔNG TIN TÁC GIẢ

THẢO LUẬN BÀI VIẾT

BÀI VIẾT LIÊN QUAN

[C#] Hướng dẫn chia sẽ file, folder từ ứng dụng sang Zalo Chat
Đăng bởi: Thảo meo - Lượt xem: 607 10:57:59, 12/12/2020C#   In bài viết

CÁC BÀI CÙNG CHỦ ĐỀ

.