۹ مطلب در ارديبهشت ۱۳۹۶ ثبت شده است

کامپوننت Kylix_SMS_v5.5.0.4_Fulll

کامپوننت Kylix_SMS_v5.5.0.4_Fulll


دانلود

۲۰ ارديبهشت ۹۶ ، ۰۷:۵۷ ۰ نظر موافقین ۰ مخالفین ۰
مهندس رجبلو

تست اینکه آیا یک سرویس وجود دارد یا خیر


function TForm1.ServiceIsPresent(sMachine, sService: PChar): Boolean;
var
SCManHandle, SvcHandle: SC_Handle;
begin
SCManHandle := OpenSCManager(sMachine, nil, SC_MANAGER_CONNECT);
if (SCManHandle > 0) then
begin
SvcHandle := OpenService(SCManHandle, sService, SERVICE_QUERY_STATUS);
if (SvcHandle > 0) then
begin
Result := True;
CloseServiceHandle(SvcHandle);
end
else
Result := False;
CloseServiceHandle(SCManHandle);
end;
end;

روش استفاده :
if ServiceIsPresent(nil,pchar('sqlserver')) then
// some code
end;

در صورتیکه نام سرویس را میدانیم و میخواهیم فولدری که از آنجا اجرا شده را بیابیم :

function TForm1.GetServiceExecutablePath(strMachine: string; strServiceName: string): String;
var
hSCManager,hSCService: SC_Handle;
lpServiceConfig: PQueryServiceConfigA;
nSize, nBytesNeeded: DWord;
begin
Result := '';
hSCManager := OpenSCManager(PChar(strMachine), nil, SC_MANAGER_CONNECT);
if (hSCManager > 0) then
begin
hSCService := OpenService(hSCManager, PChar(strServiceName), SERVICE_QUERY_CONFIG);
if (hSCService > 0) then
begin
QueryServiceConfig(hSCService, nil, 0, nSize);
lpServiceConfig := AllocMem(nSize);
try
if not QueryServiceConfig(
hSCService, lpServiceConfig, nSize, nBytesNeeded) Then Exit;
Result := lpServiceConfig^.lpBinaryPathName;
finally
Dispose(lpServiceConfig);
end;
CloseServiceHandle(hSCService);
end;
end;
end;

روش استفاده :

mysql_dir := GetServiceExecutablePath('','mysql');

۱۹ ارديبهشت ۹۶ ، ۱۲:۴۷ ۰ نظر موافقین ۰ مخالفین ۰
مهندس رجبلو

حذف یک فولدر با تمامی زیر فولدرها و فایلهای داخلش


procedure TForm1.DeleteDirectory(const DirName: string);
var
FileOp: TSHFileOpStruct;
begin
FillChar(FileOp, SizeOf(FileOp), 0);
FileOp.wFunc := FO_DELETE;
FileOp.pFrom := PChar(DirName+#0);//double zero-terminated
FileOp.fFlags := FOF_SILENT or FOF_NOERRORUI or FOF_NOCONFIRMATION;
SHFileOperation(FileOp);
end;

باید ShellAPI را به uses اضافه نمایید.

۱۹ ارديبهشت ۹۶ ، ۱۲:۴۶ ۰ نظر موافقین ۰ مخالفین ۰
مهندس رجبلو

بستن یک برنامه (EXE) دیگر از داخل برنامه

اضافه کردن یونیت :

Tlhelp32




اضافه کردن تابع :

function KillTask(ExeFileName: string): Integer;
const
  PROCESS_TERMINATE = $0001;
var
  ContinueLoop: BOOL;
  FSnapshotHandle: THandle;
  FProcessEntry32: TProcessEntry32;
begin
  Result := 0;
  FSnapshotHandle := CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
  FProcessEntry32.dwSize := SizeOf(FProcessEntry32);
  ContinueLoop := Process32First(FSnapshotHandle, FProcessEntry32);

  while Integer(ContinueLoop) <> 0 do
  begin
    if ((UpperCase(ExtractFileName(FProcessEntry32.szExeFile)) =
      UpperCase(ExeFileName)) or (UpperCase(FProcessEntry32.szExeFile) =
      UpperCase(ExeFileName))) then
      Result := Integer(TerminateProcess(
                        OpenProcess(PROCESS_TERMINATE,
                                    BOOL(0),
                                    FProcessEntry32.th32ProcessID),
                                    0));
     ContinueLoop := Process32Next(FSnapshotHandle, FProcessEntry32);
  end;
  CloseHandle(FSnapshotHandle);
end;



طریقه استفاده :

procedure TForm1.btnOKClick(Sender: TObject);
begin
  KillTask('NameOfProgram.exe');
end;
۱۹ ارديبهشت ۹۶ ، ۱۲:۴۲ ۰ نظر موافقین ۰ مخالفین ۰
مهندس رجبلو

دسترسی هر کاربر به فایلهای ارسالی خودش در وردپرس

قسمت رسانه چجوری میشه کاری کرد که هر کسی فقط فایل هایی که خودش اپلود کرده رو ببینه،؟


add_filter( 'ajax_query_attachments_args','wpmaster_restrict_media_library_to_none_admin');


 function wpmaster_restrict_media_library_to_none_admin( $args )


{


if(current_user_can('manage_options')) return $args;


   $args['author']     = get_current_user_id();


   return $args;


}
۱۹ ارديبهشت ۹۶ ، ۱۲:۴۰ ۰ نظر موافقین ۰ مخالفین ۰
مهندس رجبلو

افزونه Woocomerce dynamic pricing discount

اگر مقدار خرید کاربر مثلا از ۱۰۰ هزار تومان بیشتر شد یه درصدی تخفیف بهش بدم. نه برای یه محصول فقط برای کل سبد میخوام اینکار رو کنم.

با استفاده از افزونه Woocomerce dynamic pricing discount  میشه این کار رو کرد

۱۹ ارديبهشت ۹۶ ، ۱۲:۳۲ ۰ نظر موافقین ۰ مخالفین ۰
مهندس رجبلو

افزونه woocommerce bulk price update

افزونه woocommerce bulk price update

 تغییر قیمت محصولات بدون ویرایش محصول

۱۹ ارديبهشت ۹۶ ، ۱۲:۳۰ ۰ نظر موافقین ۰ مخالفین ۰
مهندس رجبلو

تکنیکهای طراحی بانک اطلاعاتی

تکنیکهای طراحی بانک اطلاعاتی

آموزش طراحی بانک اطلاعات فروشگاهی

۱۹ ارديبهشت ۹۶ ، ۱۲:۰۳ ۰ نظر موافقین ۰ مخالفین ۰
مهندس رجبلو

برطرف نمودن خطای A previous program installation created pending file operations

برای برطرف نمودن این خطا به رجیستری رفته و مسیر زیر را دنبال نمایید

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\PendingFileRenameOperations

و گزینه زیر را حذف نمایید

PendingFileRenameOperations
۱۹ ارديبهشت ۹۶ ، ۱۰:۴۹ ۰ نظر موافقین ۰ مخالفین ۰
مهندس رجبلو