উইন্ডোজ- আমি কীভাবে নিজের ফাইল এক্সটেনশানগুলি তৈরি করব এবং এগুলি নিজের প্রোগ্রামের সাথে যুক্ত করব?


1

আমি একটি সি # ডাব্লুপিএফ অ্যাপ্লিকেশন তৈরি করেছি যা ব্যবহারকারীর কাছে .pdf ফাইল প্রদর্শন করবে। ব্যবহারকারী সরাসরি পিডিএফ লোড করতে পারেন

ফাইল -> লোড -> (পিডিএফ ফাইল নির্বাচন করুন) -> খুলুন

পিডিএফ নির্বাচন করার পরে এবং ওপেন টিপুন পরে, পিডিএফটি অ্যাপ্লিকেশনটির ভিতরে থেকেই প্রদর্শিত হয়।

অথবা তারা একটি জিপ ফোল্ডার খুলতে পারে যাতে একটি একক পিডিএফ ফাইল থাকে এবং সেই জিপের ভিতরে থাকা পিডিএফ অ্যাপ্লিকেশনটির অভ্যন্তর থেকে স্বয়ংক্রিয়ভাবে ব্যবহারকারীকে প্রদর্শিত হবে

ফাইল -> লোড -> (জিপ ফোল্ডার নির্বাচন করুন) -> খুলুন

জিপ নির্বাচন করার পরে, (এটি জিপের বিষয়বস্তুগুলি সম্পূর্ণ একটি একক পিডিএফ দ্বারা গঠিত) এবং খোলা টিপে, জিপের অভ্যন্তরীণ পিডিএফটি অ্যাপ্লিকেশনটির অভ্যন্তর থেকে প্রদর্শিত হয় (ঠিক একইভাবে পিডিএফ খোলার মতোভাবে) ।

আমি এখন আমার প্রোগ্রামটি পরিবর্তন করতে চাই যাতে এটি একটি 'ফোল্ডার' খুলতে পারে যার একটি কাস্টম এক্সটেনশন রয়েছে - যেমন আমি একটি ফোল্ডার তৈরি করতে চাই, জিপ-এর মতো একটি পিডিএফ ফাইল রয়েছে তবে সেই ফোল্ডারের এক্সটেনশনটি কিছু হওয়া উচিত .zipউদাহরণস্বরূপ, আমি এর চেয়ে বেছে নিই , যাতে আমার কাছে একটি folder.abcএকটি পিডিএফ সম্বলিত একটি সংক্ষেপিত ফোল্ডার বলা যায় xyz.pdf

আমি তখন .abcআমার অ্যাপ্লিকেশনটির সাথে এই এক্সটেনশানটি সংযুক্ত করতে চাই , যাতে যে কোনও সময় ব্যবহারকারী কোনও .abcফাইল / ফোল্ডারটিতে ডাবল ক্লিক করেন , এটি আমার অ্যাপ্লিকেশনটি স্বয়ংক্রিয়ভাবে খোলে।

আমি যা জানি না, আমি কীভাবে কাস্টম এক্সটেনশন তৈরি করতে এবং এটি ব্যবহার করতে পারি? উদাহরণস্বরূপ, আমি পরিবর্তন হতে পারে folder.zipথেকে folder.abc, এবং একটি দিয়ে কিচ্ছু হবে .abcস্বয়ংক্রিয়ভাবে যখন একজন ব্যবহারকারী ডবল ক্লিক এটা আমার আবেদন দ্বারা খোলা নির্ধারিত এক্সটেনশন?

সম্পাদন করা

ঠিক আছে, তাই আমি নিজের এক্সটেনশন দিয়ে কাস্টম ফাইল তৈরি করতে পারি। টেক্সট ফাইল তৈরি করে, এটি খোলার পরে এবং আবার এটি সংরক্ষণ করে, এর 'টাইপ' সেট করে All Files, এবং এটিতে একটি নাম দিয়ে যা .abcঅর্থাত্ customFile.abc, এবং আমি যুক্ত করতে পারি আমার অ্যাপ্লিকেশনটির সাথে আমার এক্সটেনশানটি ডান ক্লিক করে, 'ওপেন সহ' গিয়ে আমার নিজের অ্যাপ্লিকেশন নির্বাচন করে।

আমি একইভাবে একটি জিপ ফোল্ডার দিয়ে এটিও করতে পারি।

যাইহোক, আমি যখন বর্তমানে আমার কাস্টম এক্সটেনশনে যে ফাইলগুলি / ফোল্ডারগুলি খুলছি সেগুলি কেবল একটি ফাঁকা উইন্ডো দিয়ে আমার অ্যাপ্লিকেশনটি খোলায়, অর্থাত্ তাদের মধ্যে থাকা .pdf ফাইলগুলি প্রদর্শিত হয় না - আমাকে তখন আমার অ্যাপ্লিকেশনটি ব্যবহার করতে হবে তাদের খুলতে উইন্ডো। আমি ফাইলটি -> খুলুন এবং .abcআমার অ্যাপ্লিকেশন উইন্ডোটি খোলার জন্য যে ফাইলটি ডাবল ক্লিক করে সরিয়েছি তা নির্বাচন করে এটি করি এবং এরপরে এই .abcফাইলটিতে থাকা পিডিএফটি প্রদর্শন করে ...

উইন্ডোজ এক্সপ্লোরার থেকে আমি যখন এটি ডাবল ক্লিক করব তখন কেন এটি স্বয়ংক্রিয়ভাবে অন্তর্ভুক্ত .pdf প্রদর্শিত হয় না?


2
আপনি কি ম্যানুয়ালি এটি করতে চান, বা আপনার প্রোগ্রাম ইত্যাদি ইনস্টল করার সময় করা উচিত? ল্যাটার বিকল্প => স্ট্যাকওভারফ্লো।
ডিভেন্টফ্যান

গুগল ftype এবং অ্যাসো
Marged

ম্যানুয়ালি দিয়ে শুরু করার জন্য- কাস্টম ফাইল এক্সটেনশনগুলি কীভাবে ব্যবহার করতে হয় তার একটি বোঝার জন্য। আমার যখন এটি সম্পর্কে আরও স্পষ্ট ধারণা রয়েছে এবং আমার প্রোগ্রামটি কোনও কাস্টম এক্সটেনশান দিয়েছি এমন কোনও ফাইল / ফোল্ডারটি সাফল্যের সাথে পড়তে সক্ষম হয়, তখন আমি ইনস্টল হওয়ার পরে আমার প্রোগ্রামটি সেট আপ করার বিষয়ে ভাবতে শুরু করব।
নোবেল-সার্ফার

1
প্রয়োজনীয় ধরণের একটি ফাইল তৈরি করুন। তারপরে এক্সপ্লোরারে আপনার তৈরি করা ফাইলটিতে ডান ক্লিক করুন এবং আপনার প্রোগ্রামটি সংজ্ঞায়িত করতে বৈশিষ্ট্য নির্বাচন করুন এবং ওপেন ব্যবহার করুন।
এএফএইচ

আরও কনফিগারযোগ্য সমাধান সম্পর্কে: উইন্ডোজের এটি ছিল তবে নতুন সংস্করণে এটি আর উপস্থিত নেই (জিইউআই হিসাবে)। হয় রেজিস্ট্রি সম্পাদনা, বা কোড প্রয়োজনীয় (বা তৃতীয় পক্ষের প্রোগ্রাম, কিছু রয়েছে)
ডিভেন্টফ্যান

উত্তর:


3

এটি বিভিন্ন উপায়ে করা যেতে পারে। উদাহরণস্বরূপ, আপনি স্ট্যান্ডার্ড রেজিস্ট্রি-সম্পাদনার সরঞ্জামগুলি ব্যবহার করে রেজিস্ট্রি দিয়ে উপদ্রব করতে পারেন। তবে কমান্ড লাইন ব্যবহার করে এটি প্রভাবিত করার একটি উপায়ও রয়েছে। যেহেতু অটোমেশনের পক্ষে এটি সম্ভবত সহজ, এটি এটি প্রদর্শনের একটি ভাল উপায়। যেহেতু আপনার প্রশ্নটির একটি আপ আপ প্রসার দেখানো হয়েছে .abc, তাই আমি এটি ব্যবহার করি।

একটি কমান্ড লাইন থেকে, একটি কমান্ড প্রম্পটে যান আপনি যদি ইউএসি সক্ষম করে থাকেন তবে এটি একটি উন্নত কমান্ড প্রম্পট হওয়া দরকার pt

প্রথমে একটি ফাইল টাইপ তৈরি করুন। উদাহরণ:

ftype zzzfile=C:\Windows\System32\Notepad.exe %%1

তারপরে, আপনার ফলাফলগুলি দেখুন:

ftype zzzfile
reg query HKCR\zzzfile\SHELL\OPEN\COMMAND /ve

নোট:

  • এই ফাইল টাইপটি তৈরি করার সময়, "%% 1" অর্থ শতাংশের চিহ্নটি থেকে বাঁচার জন্য। দুই শতাংশ লক্ষণ এক হয়ে যায়। সুতরাং আপনি যখন ফলাফলগুলি দেখবেন, এটি "%% 1" এর পরিবর্তে "% 1" প্রদর্শন করবে।
  • ফাইলের প্রকারটি তৈরি করার সময়, সম্পূর্ণ নির্বাহযোগ্য নাম উল্লেখ করা প্রয়োজন। আপনি কেবল "নোটপ্যাড" বললে জিনিসগুলি ভাল কাজ করবে না। ("জিনিসগুলি ভালভাবে কাজ করবে না" দ্বারা, আমার অর্থ উইন্ডোজ ব্যবহারকারীকে এই এক্সটেনশনের সাথে কী করবে তা জিজ্ঞাসা করবে The

তারপরে, আপনার ফাইলের ধরণের সাথে একটি এক্সটেনশন যুক্ত করুন। আবার এটি আপনার সিস্টেমের আচরণটি পরিবর্তন করে, সুতরাং যদি ইউএসি সক্ষম হয় তবে একটি উন্নত কমান্ড প্রম্পটে যান। চালান:

assoc .abc=zzzfile

এখন, এই কমান্ড প্রম্পট বা একটি উন্নততর থেকে, আপনি নিজের ফলাফলগুলি পরীক্ষা করতে পারেন:

assoc .abc
start filename.abc

(উইন্ডোজ 7 x64 এর সাথে পরীক্ষিত))


দ্রষ্টব্য: প্রাথমিক পরীক্ষার সময়, আমি জিইউআইয়ের সাথে মিশেছি। এটি একই এক্সটেনশন সহ FTYPE এবং ASSOC এর সঠিকভাবে কাজ করতে বাধা দেয়।

সমস্যা সনাক্তকরণ যথেষ্ট সহজ ছিল। ফিক্সিং এটি ছিল না।

আমি এটি ব্যবহার করে সমস্যাটি সন্ধান করতে সক্ষম হয়েছি:

REG QUERY HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.abc /s

দুঃখজনকভাবে, এটি এটি মুছতে কার্যকর হয়নি:

REG DELETE HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.abc
REG DELETE HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.abc\UserChoice /v Progid

আমি একটি গ্রাফিকাল প্রোগ্রামের সাথে সমস্যাটি নিশ্চিত করেছি: ইউজারচয়েসে রেজিডিট, তারপরে সম্পাদনা করুন, "অনুমতিগুলি ...", (আমার ব্যবহারকারীর নাম), উন্নত, (অনুমতি ট্যাব) দেখিয়েছে যে আমার একটি ডেনি আছে, টাইপ স্পেশাল। সম্পাদনা করুন ... সেখান থেকে "সেট মান" অস্বীকার করেছে showed

কমান্ড লাইন থেকে এটি ঠিক করার একটি উপায় NT 4 রিসোর্স কিট থেকে REGINI হিসাবে উপস্থিত হবে। জিনিসগুলি এইভাবে করার জন্য, আমার এসআইডি বের করা দরকার।

ডাব্লিউএমআই ব্যবহারকারী অ্যাকাউন্ট নাম, এসআইডি পান (আমার অ্যাকাউন্টটি সন্ধান করুন S এসআইডি "এস-" দিয়ে শুরু হয়))

একটি পাঠ্য ফাইল করুন। আমি এটিকে "ফিক্স টেক্সট" বলার সিদ্ধান্ত নিয়েছি।

কেবি 254031 প্রথম লাইনটি "\ রেজিস্ট্রি \ ব্যবহারকারী \" এর পরে ব্যবহারকারীর এসআইডি নির্দেশ করে। সুতরাং এটি দিয়েই টেক্সট ফাইলটি শুরু হবে।

বিভিন্ন মাইক্রোসফ্ট কেবি নিবন্ধের কয়েকটি উদাহরণ থাকা সত্ত্বেও সিনট্যাক্সটি একক লাইনের মতোই সংক্ষিপ্ত হতে পারে, যেমন দেখানো হয়েছে (তবে কাস্টমাইজেশন প্রয়োজন ...)

\Registry\User\S-#-#-##-##########-##########-##########-1000\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.abc\UserChoice [1 5 7 17]

(স্বাভাবিকভাবেই, আপনি যে এক্সটেনশনটি ঠিক করার চেষ্টা করছেন তার সাথে ".abc" সামঞ্জস্য করুন # # এরও প্রতিস্থাপন করা দরকার, যাতে একটি বৈধ এসআইডি ব্যবহার করা হয়))

তারপরে, সেই পাঠ্য ফাইলটি এর সাথে ব্যবহার করুন: REGINI fix.txt

এখন যে কীটি আমাদের পরিবর্তন করতে বাধা দিচ্ছে না, আমরা ইউজারচয়েস কী এর অগ্রগতির মানটি মুছতে পারি। প্রকৃতপক্ষে, এগিয়ে যান এবং এই এক্সটেনশন সম্পর্কিত পুরো কী মুছে দিন।

REG DELETE HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.abc

তারপরে, এই রেজিস্ট্রি কীটি আর ওভাররাইডিং ছিল না, সুতরাং FTYPE এবং ASSOC এর ফলাফলগুলি পছন্দসই হিসাবে কার্যকর হচ্ছে।


আরে, আপনার উত্তরের জন্য ধন্যবাদ। যদি আমি প্রথম কমান্ড আপনার দেওয়া চলমান চেষ্টা করুন: ftype zzzfile=C:\Windows\System32\Notepad.exe %%1আমি একটি বার্তা বলে পাবেন: File type 'zzzfile' not found or no open command associated with it। এজন্যই কি আমাকে ইউএসি সক্ষম করতে হবে? ইউএসি কী এবং আমি কীভাবে এটি সক্ষম করব?
নোবেল-সার্ফার

আমি নিশ্চিত করেছিলাম, কমান্ড প্রম্পটটি উন্নত না করে কোনও কমান্ড প্রম্পট থেকে চালানো হয় যা ইউএসি দ্বারা প্রভাবিত হয়। ইউএসি এর অর্থ ব্যবহারকারী অ্যাকাউন্ট নিয়ন্ত্রণ। ইউএসি ডিফল্টরূপে সক্ষম হয়। আপনার কমান্ড প্রম্পটের আইকনে ডান-ক্লিক করার চেষ্টা করুন এবং দেখুন যে আপনার কাছে "প্রশাসক হিসাবে চালান" বিকল্প আছে কিনা Run (দ্রষ্টব্য: এই শব্দটি "প্রশাসক" আপনার প্রশাসক অ্যাকাউন্টকে বোঝায় না It এটি প্রশাসকের / ইউএসি-তে প্রশাসনের অনুমোদনের উচ্চ স্তরের উল্লেখ করে))
টোগাম
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.