سلام
متاسفانه منظورتان را نمیتوانید خوب بیان کنید...
من فکر میکنم مشکلی که شما دارید این است که نمیخواهید فایلهای را اول داخل هارد extract کنید؟ درست است؟
یعنی هم میخواهید کل اطلاعات یک پک واحد باشد و هم در هارد extract نشود؟ همین را میخواهید؟
با این فرض...
در نهایت شما در خیلی از موارد مجبور به extract خواهد شد، چه بخواهید و چه نخواهید!
مثلاً بفرض توانستید یک فایل موسیقی wav را بدون Extract از داخل rar بخوانید!!! یعنی چه؟
یعنی اینکه ان را به صورت یک آرایه بایتی در داخل RAM خواهید داشت...
Dim buffer() As Byte
خوب حالا چطور میخواهید پخشش کنید؟؟؟
تمام دستورات معمول پخش صوت معمول فایلی در هارد را به عنوان ورودی میپذیرند.
یا حتی در بازی میخواهید یک فایل x که حاوی یکی از اشیا و کاراکترهای بازی است را لود کنید، دستورات DirectX هماهنگ با VB6 فقط از شما مسیر یک فایل را میگیرند؟
یا حتی اگر بخواهید یک exe را اجرا کنید، بازهم فقط دستور Shell را دارید که مسیر هارد را میخواهد؟
نتیجتاً چه فایل rar باشد و چه zip و چه یک فرمت مخصوص که خودتان مخصوص کار خودتان درست کرده باشید، در نهایت برای استفاده از محتویات در اکثر حالات نیاز به یک مسیر مستقیم هارد دارید که نتیجتاً منتهی به این میشود که فایل را قبلاً extract کرده باشید.
(
البته VB8,9 امکانات بسیار بیشتری دارد و دستتان برای این مانورها باز است، حتی میتوان یک exe را اگر CLR باشد بدون مسیر هارد و از داخل یک آرایه بایتی اجرا کرد و اکثر دستورات VB8,9 که با فایل کار میکنند علاوه بر مسیر هارد ، اطلاعات مستقیم داخل RAM را هم قبول میکنند.
)
در نهایت راه منطقی که میماند ان است که فایل rar مورد نظر را در شروع برنامه در مسیر Temp ویندوز extract کنید و در حین اجرای برنامه با مسیر Temp به فایلهای واقعی روی هارد دسترسی پیدا کنید و در نهایت در زمان بسته شده برنامه محتویات extract شده در Temp را حذف کنید.
دیگر گمان نکنم بتوانم کمک بیشتری بکنم.
موفق باشید.